home *** CD-ROM | disk | FTP | other *** search
/ Mac Expert 1995 Winter / Mac Expert - Winter 95.iso / Les fichiers / Communications / Internet / CU-SeeMe ƒ / reflect.2.30b1.tar < prev   
Tape Archive  |  1994-07-22  |  160.0 KB  |  [TARF/TAR!]

view JSON data     |     view as text     |     open on a Mac     |     open on a PC

This file was processed as: Tape Archive (archive/tar).

You can browse this item here: reflect.2.30b1.tar

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Tape Archive (archive/tar) magic Supported
100% file POSIX tar archive default
99% file POSIX tar archive, directory 2.30b1/, mode 040755 , uid 000006 , gid 000000 , size 00000000000 , seconds 05611532444, user lynn, group system default
98% file data default
95% TrID Pfaff Compatible design card default (weak)
1% TrID Sybase iAnywhere database files default (weak)
1% TrID TAR - Tape ARchive (POSIX) default (weak)
0% TrID TAR - Tape ARchive (directory) default (weak)
100% siegfried x-fmt/265 Tape Archive Format default
100% lsar Tar default
100% gt2 TAR Archiv gefunden (Auflistung ist deaktiviert) default
100% disktype POSIX tar archive default
100% detectItEasy Archive: tar default
100% binwalkID POSIX tar archive default
100% xdgMime application/x-tar default


id metadata
keyvalue
macFileType[TARF]
macFileCreator[TAR!]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 32 2e 33 30 62 31 2f 00 | 00 00 00 00 00 00 00 00 |2.30b1/.|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000050| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000060| 00 00 00 00 30 34 30 37 | 35 35 20 00 30 30 30 30 |....0407|55 .0000|
|00000070| 30 36 20 00 30 30 30 30 | 30 30 20 00 30 30 30 30 |06 .0000|00 .0000|
|00000080| 30 30 30 30 30 30 30 20 | 30 35 36 31 31 35 33 32 |0000000 |05611532|
|00000090| 34 34 34 20 30 31 32 32 | 31 35 00 20 35 00 00 00 |444 0122|15. 5...|
|000000a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000100| 00 75 73 74 61 72 00 30 | 30 6c 79 6e 6e 00 00 00 |.ustar.0|0lynn...|
|00000110| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000120| 00 00 00 00 00 00 00 00 | 00 73 79 73 74 65 6d 00 |........|.system.|
|00000130| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000140| 00 00 00 00 00 00 00 00 | 00 30 30 30 30 30 30 20 |........|.000000 |
|00000150| 00 30 30 30 30 30 30 20 | 00 00 00 00 00 00 00 00 |.000000 |........|
|00000160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000170| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000180| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000190| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000200| 32 2e 33 30 62 31 2f 4d | 61 6b 65 66 69 6c 65 00 |2.30b1/M|akefile.|
|00000210| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000220| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000230| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000250| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000260| 00 00 00 00 31 30 30 36 | 34 34 20 00 30 30 30 30 |....1006|44 .0000|
|00000270| 30 36 20 00 30 30 30 30 | 30 30 20 00 30 30 30 30 |06 .0000|00 .0000|
|00000280| 30 30 30 31 31 33 32 20 | 30 35 36 31 31 35 33 32 |0001132 |05611532|
|00000290| 34 33 32 20 30 31 33 36 | 34 34 00 20 30 00 00 00 |432 0136|44. 0...|
|000002a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000300| 00 75 73 74 61 72 00 30 | 30 6c 79 6e 6e 00 00 00 |.ustar.0|0lynn...|
|00000310| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000320| 00 00 00 00 00 00 00 00 | 00 73 79 73 74 65 6d 00 |........|.system.|
|00000330| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000340| 00 00 00 00 00 00 00 00 | 00 30 30 30 30 30 30 20 |........|.000000 |
|00000350| 00 30 30 30 30 30 30 20 | 00 00 00 00 00 00 00 00 |.000000 |........|
|00000360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000370| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000380| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000390| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000400| 43 46 4c 41 47 53 20 3d | 20 2d 67 20 2d 44 5f 42 |CFLAGS =| -g -D_B|
|00000410| 53 44 20 2d 44 44 45 42 | 55 47 20 2d 44 4d 55 4c |SD -DDEB|UG -DMUL|
|00000420| 54 49 0a 0a 23 20 43 46 | 4c 41 47 53 20 3d 20 2d |TI..# CF|LAGS = -|
|00000430| 67 20 2d 44 5f 42 53 44 | 20 2d 44 44 45 42 55 47 |g -D_BSD| -DDEBUG|
|00000440| 20 0a 0a 23 20 75 73 65 | 20 74 68 65 20 61 62 6f | ..# use| the abo|
|00000450| 76 65 20 43 46 4c 41 47 | 53 20 64 65 66 69 6e 69 |ve CFLAG|S defini|
|00000460| 74 69 6f 6e 20 69 66 20 | 79 6f 75 72 20 6d 61 63 |tion if |your mac|
|00000470| 68 69 6e 65 20 64 6f 65 | 73 6e 27 74 20 0a 23 20 |hine doe|sn't .# |
|00000480| 73 75 70 70 6f 72 74 20 | 6d 75 6c 74 69 63 61 73 |support |multicas|
|00000490| 74 2e 0a 0a 4c 49 4e 54 | 46 4c 41 47 53 3d 0a 56 |t...LINT|FLAGS=.V|
|000004a0| 53 52 43 53 3d 09 72 65 | 66 6c 65 63 74 2e 63 20 |SRCS=.re|flect.c |
|000004b0| 73 6f 63 6b 65 74 2e 63 | 20 63 6f 6e 74 72 6f 6c |socket.c| control|
|000004c0| 2e 63 20 75 74 69 6c 2e | 63 20 6c 6f 61 64 2e 63 |.c util.|c load.c|
|000004d0| 20 72 65 66 75 74 69 6c | 2e 63 20 0a 56 4f 42 4a | refutil|.c .VOBJ|
|000004e0| 53 3d 09 72 65 66 6c 65 | 63 74 2e 6f 20 73 6f 63 |S=.refle|ct.o soc|
|000004f0| 6b 65 74 2e 6f 20 63 6f | 6e 74 72 6f 6c 2e 6f 20 |ket.o co|ntrol.o |
|00000500| 75 74 69 6c 2e 6f 20 6c | 6f 61 64 2e 6f 20 72 65 |util.o l|oad.o re|
|00000510| 66 75 74 69 6c 2e 6f 0a | 49 4e 43 4c 3d 20 20 20 |futil.o.|INCL= |
|00000520| 72 65 66 6c 65 63 74 2e | 68 20 72 65 66 6d 6f 6e |reflect.|h refmon|
|00000530| 2e 68 0a 52 53 52 43 53 | 3d 09 72 65 66 6d 6f 6e |.h.RSRCS|=.refmon|
|00000540| 2e 63 20 0a 52 4f 42 4a | 53 3d 09 72 65 66 6d 6f |.c .ROBJ|S=.refmo|
|00000550| 6e 2e 6f 20 0a 23 20 4c | 49 42 43 3d 09 2f 6c 69 |n.o .# L|IBC=./li|
|00000560| 62 2f 6c 69 62 63 2e 61 | 20 2f 6c 69 62 2f 6c 69 |b/libc.a| /lib/li|
|00000570| 62 62 73 64 2e 61 0a 4c | 49 42 43 3d 09 0a 0a 61 |bbsd.a.L|IBC=...a|
|00000580| 6c 6c 3a 20 72 65 66 6c | 65 63 74 20 72 65 66 6d |ll: refl|ect refm|
|00000590| 6f 6e 20 0a 0a 72 65 66 | 6c 65 63 74 2e 6f 20 3a |on ..ref|lect.o :|
|000005a0| 20 24 7b 49 4e 43 4c 7d | 0a 73 6f 63 6b 65 74 2e | ${INCL}|.socket.|
|000005b0| 6f 20 3a 20 24 7b 49 4e | 43 4c 7d 0a 63 6f 6e 74 |o : ${IN|CL}.cont|
|000005c0| 72 6f 6c 2e 6f 20 3a 20 | 24 7b 49 4e 43 4c 7d 0a |rol.o : |${INCL}.|
|000005d0| 75 74 69 6c 2e 6f 20 3a | 20 24 7b 49 4e 43 4c 7d |util.o :| ${INCL}|
|000005e0| 0a 0a 72 65 66 6c 65 63 | 74 3a 20 24 7b 56 4f 42 |..reflec|t: ${VOB|
|000005f0| 4a 53 7d 20 0a 09 72 6d | 20 2d 66 20 24 40 0a 09 |JS} ..rm| -f $@..|
|00000600| 24 7b 43 43 7d 20 20 2d | 6f 20 24 40 20 24 7b 56 |${CC} -|o $@ ${V|
|00000610| 4f 42 4a 53 7d 20 24 7b | 4c 49 42 43 7d 0a 0a 72 |OBJS} ${|LIBC}..r|
|00000620| 65 66 6d 6f 6e 3a 20 24 | 7b 52 4f 42 4a 53 7d 20 |efmon: $|{ROBJS} |
|00000630| 0a 09 72 6d 20 2d 66 20 | 24 40 0a 09 24 7b 43 43 |..rm -f |$@..${CC|
|00000640| 7d 20 20 2d 6f 20 24 40 | 20 24 7b 52 4f 42 4a 53 |} -o $@| ${ROBJS|
|00000650| 7d 20 24 7b 4c 49 42 43 | 7d 0a 00 00 00 00 00 00 |} ${LIBC|}.......|
|00000660| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000670| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000680| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000690| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000700| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000710| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000720| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000730| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000740| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000750| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000760| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000770| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000780| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000790| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000800| 32 2e 33 30 62 31 2f 72 | 65 66 6c 65 63 74 2e 63 |2.30b1/r|eflect.c|
|00000810| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000820| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000830| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000840| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000850| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000860| 00 00 00 00 31 30 30 36 | 34 34 20 00 30 30 30 30 |....1006|44 .0000|
|00000870| 30 36 20 00 30 30 30 30 | 30 30 20 00 30 30 30 30 |06 .0000|00 .0000|
|00000880| 30 30 35 36 36 34 36 20 | 30 35 36 31 30 35 32 37 |0056646 |05610527|
|00000890| 30 35 37 20 30 31 34 30 | 32 36 00 20 30 00 00 00 |057 0140|26. 0...|
|000008a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000008b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000008c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000008d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000008e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000008f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000900| 00 75 73 74 61 72 00 30 | 30 6c 79 6e 6e 00 00 00 |.ustar.0|0lynn...|
|00000910| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000920| 00 00 00 00 00 00 00 00 | 00 73 79 73 74 65 6d 00 |........|.system.|
|00000930| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000940| 00 00 00 00 00 00 00 00 | 00 30 30 30 30 30 30 20 |........|.000000 |
|00000950| 00 30 30 30 30 30 30 20 | 00 00 00 00 00 00 00 00 |.000000 |........|
|00000960| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000970| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000980| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000990| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a00| 2f 2a 0a 0a 43 6f 70 79 | 72 69 67 68 74 20 31 39 |/*..Copy|right 19|
|00000a10| 39 33 2c 20 31 39 39 34 | 2c 20 43 6f 72 6e 65 6c |93, 1994|, Cornel|
|00000a20| 6c 20 55 6e 69 76 65 72 | 73 69 74 79 0a 0a 43 6f |l Univer|sity..Co|
|00000a30| 72 6e 65 6c 6c 20 68 65 | 72 65 62 79 20 67 72 61 |rnell he|reby gra|
|00000a40| 6e 74 73 20 70 65 72 6d | 69 73 73 69 6f 6e 20 74 |nts perm|ission t|
|00000a50| 6f 20 75 73 65 2c 20 63 | 6f 70 79 2c 20 6d 6f 64 |o use, c|opy, mod|
|00000a60| 69 66 79 2c 20 61 6e 64 | 20 64 69 73 74 72 69 62 |ify, and| distrib|
|00000a70| 75 74 65 20 74 68 69 73 | 20 70 72 6f 67 72 61 6d |ute this| program|
|00000a80| 20 66 6f 72 20 61 6e 79 | 20 70 75 72 70 6f 73 65 | for any| purpose|
|00000a90| 20 0a 61 6e 64 20 77 69 | 74 68 6f 75 74 20 66 65 | .and wi|thout fe|
|00000aa0| 65 2c 20 70 72 6f 76 69 | 64 65 64 20 74 68 61 74 |e, provi|ded that|
|00000ab0| 20 74 68 65 73 65 20 63 | 6f 70 79 72 69 67 68 74 | these c|opyright|
|00000ac0| 20 61 6e 64 20 70 65 72 | 6d 69 73 73 69 6f 6e 20 | and per|mission |
|00000ad0| 6e 6f 74 69 63 65 73 20 | 61 70 70 65 61 72 20 6f |notices |appear o|
|00000ae0| 6e 20 61 6c 6c 20 63 6f | 70 69 65 73 20 61 6e 64 |n all co|pies and|
|00000af0| 20 0a 73 75 70 70 6f 72 | 74 69 6e 67 20 64 6f 63 | .suppor|ting doc|
|00000b00| 75 6d 65 6e 74 61 74 69 | 6f 6e 2c 20 74 68 65 20 |umentati|on, the |
|00000b10| 6e 61 6d 65 20 6f 66 20 | 43 6f 72 6e 65 6c 6c 20 |name of |Cornell |
|00000b20| 6e 6f 74 20 62 65 20 75 | 73 65 64 20 69 6e 20 61 |not be u|sed in a|
|00000b30| 64 76 65 72 74 69 73 69 | 6e 67 20 6f 72 20 70 75 |dvertisi|ng or pu|
|00000b40| 62 6c 69 63 69 74 79 20 | 70 65 72 74 61 69 6e 69 |blicity |pertaini|
|00000b50| 6e 67 20 0a 74 6f 20 64 | 69 73 74 72 69 62 75 74 |ng .to d|istribut|
|00000b60| 69 6f 6e 20 6f 66 20 74 | 68 65 20 70 72 6f 67 72 |ion of t|he progr|
|00000b70| 61 6d 20 77 69 74 68 6f | 75 74 20 73 70 65 63 69 |am witho|ut speci|
|00000b80| 66 69 63 20 70 72 69 6f | 72 20 70 65 72 6d 69 73 |fic prio|r permis|
|00000b90| 73 69 6f 6e 2c 20 6e 6f | 74 69 63 65 20 62 65 20 |sion, no|tice be |
|00000ba0| 67 69 76 65 6e 20 69 6e | 20 73 75 70 70 6f 72 74 |given in| support|
|00000bb0| 69 6e 67 20 0a 64 6f 63 | 75 6d 65 6e 74 61 74 69 |ing .doc|umentati|
|00000bc0| 6f 6e 20 74 68 61 74 20 | 63 6f 70 79 69 6e 67 20 |on that |copying |
|00000bd0| 61 6e 64 20 64 69 73 74 | 72 69 62 75 74 69 6f 6e |and dist|ribution|
|00000be0| 20 69 73 20 62 79 20 70 | 65 72 6d 69 73 73 69 6f | is by p|ermissio|
|00000bf0| 6e 20 6f 66 20 43 6f 72 | 6e 65 6c 6c 2e 20 20 43 |n of Cor|nell. C|
|00000c00| 4f 52 4e 45 4c 4c 20 4d | 41 4b 45 53 20 4e 4f 20 |ORNELL M|AKES NO |
|00000c10| 0a 52 45 50 52 45 53 45 | 4e 54 41 54 49 4f 4e 53 |.REPRESE|NTATIONS|
|00000c20| 20 4f 52 20 57 41 52 52 | 41 4e 54 45 45 53 2c 20 | OR WARR|ANTEES, |
|00000c30| 45 58 50 52 45 53 53 20 | 4f 52 20 49 4d 50 4c 49 |EXPRESS |OR IMPLI|
|00000c40| 45 44 2e 20 20 42 79 20 | 77 61 79 20 6f 66 20 65 |ED. By |way of e|
|00000c50| 78 61 6d 70 6c 65 2c 20 | 62 75 74 20 6e 6f 74 20 |xample, |but not |
|00000c60| 6c 69 6d 69 74 61 74 69 | 6f 6e 2c 20 0a 43 4f 52 |limitati|on, .COR|
|00000c70| 4e 45 4c 4c 20 4d 41 4b | 45 53 20 4e 4f 20 52 45 |NELL MAK|ES NO RE|
|00000c80| 50 52 45 53 45 4e 54 41 | 54 49 4f 4e 53 20 4f 52 |PRESENTA|TIONS OR|
|00000c90| 20 57 41 52 52 41 4e 54 | 49 45 53 20 4f 46 20 4d | WARRANT|IES OF M|
|00000ca0| 45 52 43 48 41 4e 54 41 | 42 49 4c 49 54 59 20 4f |ERCHANTA|BILITY O|
|00000cb0| 52 20 46 49 54 4e 45 53 | 53 20 46 4f 52 20 41 4e |R FITNES|S FOR AN|
|00000cc0| 59 20 50 41 52 54 49 43 | 55 4c 41 52 20 0a 50 55 |Y PARTIC|ULAR .PU|
|00000cd0| 52 50 4f 53 45 20 4f 52 | 20 54 48 41 54 20 54 48 |RPOSE OR| THAT TH|
|00000ce0| 45 20 55 53 45 20 4f 46 | 20 54 48 49 53 20 53 4f |E USE OF| THIS SO|
|00000cf0| 46 54 57 41 52 45 20 4f | 52 20 44 4f 43 55 4d 45 |FTWARE O|R DOCUME|
|00000d00| 4e 54 41 54 49 4f 4e 20 | 57 49 4c 4c 20 4e 4f 54 |NTATION |WILL NOT|
|00000d10| 20 49 4e 46 52 49 4e 47 | 45 20 41 4e 59 20 50 41 | INFRING|E ANY PA|
|00000d20| 54 45 4e 54 53 2c 20 43 | 4f 50 59 52 49 47 48 54 |TENTS, C|OPYRIGHT|
|00000d30| 53 2c 20 0a 54 52 41 44 | 45 4d 41 52 4b 53 2c 20 |S, .TRAD|EMARKS, |
|00000d40| 4f 52 20 4f 54 48 45 52 | 20 52 49 47 48 54 53 2e |OR OTHER| RIGHTS.|
|00000d50| 20 20 43 6f 72 6e 65 6c | 6c 20 73 68 61 6c 6c 20 | Cornel|l shall |
|00000d60| 6e 6f 74 20 62 65 20 68 | 65 6c 64 20 6c 69 61 62 |not be h|eld liab|
|00000d70| 6c 65 20 66 6f 72 20 61 | 6e 79 20 6c 69 61 62 69 |le for a|ny liabi|
|00000d80| 6c 69 74 79 20 77 69 74 | 68 20 72 65 73 70 65 63 |lity wit|h respec|
|00000d90| 74 20 74 6f 20 0a 61 6e | 79 20 63 6c 61 69 6d 20 |t to .an|y claim |
|00000da0| 62 79 20 74 68 65 20 75 | 73 65 72 20 6f 72 20 61 |by the u|ser or a|
|00000db0| 6e 79 20 6f 74 68 65 72 | 20 70 61 72 74 79 20 61 |ny other| party a|
|00000dc0| 72 69 73 69 6e 67 20 66 | 72 6f 6d 20 75 73 65 20 |rising f|rom use |
|00000dd0| 6f 66 20 74 68 65 20 70 | 72 6f 67 72 61 6d 2e 0a |of the p|rogram..|
|00000de0| 0a 54 68 69 73 20 6d 61 | 74 65 72 69 61 6c 20 69 |.This ma|terial i|
|00000df0| 73 20 70 61 72 74 69 61 | 6c 6c 79 20 62 61 73 65 |s partia|lly base|
|00000e00| 64 20 6f 6e 20 77 6f 72 | 6b 20 73 70 6f 6e 73 6f |d on wor|k sponso|
|00000e10| 72 65 64 20 62 79 20 74 | 68 65 20 4e 61 74 69 6f |red by t|he Natio|
|00000e20| 6e 61 6c 20 53 63 69 65 | 6e 63 65 20 46 6f 75 6e |nal Scie|nce Foun|
|00000e30| 64 61 74 69 6f 6e 20 75 | 6e 64 65 72 20 43 6f 6f |dation u|nder Coo|
|00000e40| 70 65 72 61 74 69 76 65 | 20 0a 41 67 72 65 65 6d |perative| .Agreem|
|00000e50| 65 6e 74 20 4e 6f 2e 20 | 4e 43 52 2d 39 33 31 38 |ent No. |NCR-9318|
|00000e60| 33 33 37 2e 20 20 54 68 | 65 20 67 6f 76 65 72 6e |337. Th|e govern|
|00000e70| 6d 65 6e 74 20 68 61 73 | 20 63 65 72 74 61 69 6e |ment has| certain|
|00000e80| 20 72 69 67 68 74 73 20 | 69 6e 20 74 68 69 73 20 | rights |in this |
|00000e90| 6d 61 74 65 72 69 61 6c | 2e 0a 0a 2a 2f 0a 0a 23 |material|...*/..#|
|00000ea0| 69 6e 63 6c 75 64 65 20 | 3c 73 74 64 69 6f 2e 68 |include |<stdio.h|
|00000eb0| 3e 0a 23 69 6e 63 6c 75 | 64 65 20 3c 73 69 67 6e |>.#inclu|de <sign|
|00000ec0| 61 6c 2e 68 3e 0a 23 69 | 6e 63 6c 75 64 65 20 3c |al.h>.#i|nclude <|
|00000ed0| 65 72 72 6e 6f 2e 68 3e | 0a 23 69 6e 63 6c 75 64 |errno.h>|.#includ|
|00000ee0| 65 20 3c 73 79 73 2f 74 | 79 70 65 73 2e 68 3e 0a |e <sys/t|ypes.h>.|
|00000ef0| 23 69 6e 63 6c 75 64 65 | 20 3c 73 79 73 2f 73 6f |#include| <sys/so|
|00000f00| 63 6b 65 74 2e 68 3e 0a | 23 69 6e 63 6c 75 64 65 |cket.h>.|#include|
|00000f10| 20 3c 73 79 73 2f 73 6f | 63 6b 65 74 76 61 72 2e | <sys/so|cketvar.|
|00000f20| 68 3e 0a 23 69 6e 63 6c | 75 64 65 20 3c 73 79 73 |h>.#incl|ude <sys|
|00000f30| 2f 74 69 6d 65 2e 68 3e | 0a 23 69 6e 63 6c 75 64 |/time.h>|.#includ|
|00000f40| 65 20 3c 6e 65 74 69 6e | 65 74 2f 69 6e 2e 68 3e |e <netin|et/in.h>|
|00000f50| 0a 0a 23 69 6e 63 6c 75 | 64 65 20 22 72 65 66 6c |..#inclu|de "refl|
|00000f60| 65 63 74 2e 68 22 0a 23 | 69 6e 63 6c 75 64 65 20 |ect.h".#|include |
|00000f70| 22 72 65 66 6d 6f 6e 2e | 68 22 0a 0a 76 6f 69 64 |"refmon.|h"..void|
|00000f80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000f90| 70 72 6f 63 5f 73 69 67 | 28 29 3b 0a 76 6f 69 64 |proc_sig|();.void|
|00000fa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000fb0| 64 6f 5f 74 69 6d 65 72 | 28 29 3b 0a 76 6f 69 64 |do_timer|();.void|
|00000fc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000fd0| 6d 79 5f 70 65 72 72 6f | 72 28 29 3b 0a 63 6c 69 |my_perro|r();.cli|
|00000fe0| 65 6e 74 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ent | |
|00000ff0| 20 2a 66 69 6e 64 5f 63 | 6c 69 65 6e 74 28 29 3b | *find_c|lient();|
|00001000| 20 0a 6d 61 76 65 6e 5f | 63 6c 69 65 6e 74 20 20 | .maven_|client |
|00001010| 20 20 20 20 20 20 2a 66 | 69 6e 64 5f 6d 61 76 65 | *f|ind_mave|
|00001020| 6e 5f 63 6c 69 65 6e 74 | 28 29 3b 20 0a 6d 61 76 |n_client|(); .mav|
|00001030| 65 6e 5f 63 6c 69 65 6e | 74 20 20 20 20 20 20 20 |en_clien|t |
|00001040| 20 2a 6e 65 77 5f 6d 61 | 76 65 6e 5f 63 6c 69 65 | *new_ma|ven_clie|
|00001050| 6e 74 28 29 3b 0a 63 6c | 69 65 6e 74 20 20 20 20 |nt();.cl|ient |
|00001060| 20 20 20 20 20 20 20 20 | 20 20 2a 6f 70 65 6e 5f | | *open_|
|00001070| 63 6f 6e 6e 65 63 74 69 | 6f 6e 28 29 3b 20 0a 73 |connecti|on(); .s|
|00001080| 68 6f 72 74 20 20 20 20 | 20 20 20 20 20 20 20 20 |hort | |
|00001090| 20 20 20 67 65 74 5f 74 | 79 70 65 28 29 3b 0a 0a | get_t|ype();..|
|000010a0| 63 6c 69 65 6e 74 20 2a | 63 68 65 61 64 20 3d 20 |client *|chead = |
|000010b0| 4e 55 4c 4c 3b 20 20 20 | 20 20 20 20 20 20 20 20 |NULL; | |
|000010c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 2f 2a | | /*|
|000010d0| 20 70 74 72 20 74 6f 20 | 74 68 65 20 61 63 74 69 | ptr to |the acti|
|000010e0| 76 65 20 63 6c 69 65 6e | 74 20 6c 69 73 74 20 20 |ve clien|t list |
|000010f0| 20 20 20 20 20 20 20 20 | 20 20 20 2a 2f 0a 63 6c | | */.cl|
|00001100| 69 65 6e 74 20 2a 63 6c | 66 72 65 65 20 3d 20 4e |ient *cl|free = N|
|00001110| 55 4c 4c 3b 20 20 20 20 | 20 20 20 20 20 20 20 20 |ULL; | |
|00001120| 20 20 20 20 20 20 20 20 | 20 20 20 20 2f 2a 20 70 | | /* p|
|00001130| 74 72 20 74 6f 20 74 68 | 65 20 66 72 65 65 20 63 |tr to th|e free c|
|00001140| 6c 69 65 6e 74 20 6c 69 | 73 74 20 20 20 20 20 20 |lient li|st |
|00001150| 20 20 20 20 20 20 20 20 | 20 2a 2f 0a 0a 73 6c 69 | | */..sli|
|00001160| 73 74 20 2a 73 66 72 65 | 65 20 3d 20 4e 55 4c 4c |st *sfre|e = NULL|
|00001170| 3b 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |; | |
|00001180| 20 20 20 20 20 20 20 20 | 20 20 20 2f 2a 20 70 74 | | /* pt|
|00001190| 72 20 74 6f 20 74 68 65 | 20 66 72 65 65 20 73 6c |r to the| free sl|
|000011a0| 69 73 74 20 6c 69 73 74 | 20 20 20 20 20 20 20 20 |ist list| |
|000011b0| 20 20 20 20 20 20 20 20 | 2a 2f 0a 0a 73 68 6f 72 | |*/..shor|
|000011c0| 74 20 63 66 72 65 65 5f | 63 6e 74 2c 73 66 72 65 |t cfree_|cnt,sfre|
|000011d0| 65 5f 63 6e 74 3b 20 20 | 20 20 20 20 20 20 20 20 |e_cnt; | |
|000011e0| 20 20 20 20 20 20 20 20 | 20 20 2f 2a 20 23 20 6f | | /* # o|
|000011f0| 66 20 66 72 65 65 20 63 | 6c 69 65 6e 74 73 20 61 |f free c|lients a|
|00001200| 6e 64 20 73 6c 69 73 74 | 73 20 20 20 20 20 20 20 |nd slist|s |
|00001210| 20 20 20 20 20 20 20 2a | 2f 0a 0a 6d 61 76 65 6e | *|/..maven|
|00001220| 5f 63 6c 69 65 6e 74 20 | 2a 6d 68 65 61 64 20 3d |_client |*mhead =|
|00001230| 20 4e 55 4c 4c 3b 20 20 | 20 20 20 20 20 20 20 20 | NULL; | |
|00001240| 20 20 20 20 20 20 20 20 | 20 2f 2a 20 67 6c 6f 62 | | /* glob|
|00001250| 61 6c 20 70 74 72 20 74 | 6f 20 74 68 65 20 6d 61 |al ptr t|o the ma|
|00001260| 76 65 6e 20 63 6c 69 65 | 6e 74 20 6c 69 73 74 20 |ven clie|nt list |
|00001270| 20 20 20 20 20 20 2a 2f | 0a 0a 75 6e 73 69 67 6e | */|..unsign|
|00001280| 65 64 20 6c 6f 6e 67 20 | 72 65 73 74 72 69 63 74 |ed long |restrict|
|00001290| 5f 6c 69 73 74 5b 4d 41 | 58 43 4c 49 45 4e 54 5d |_list[MA|XCLIENT]|
|000012a0| 3b 20 20 20 20 20 20 20 | 2f 2a 20 6c 69 73 74 20 |; |/* list |
|000012b0| 6f 66 20 49 50 20 61 64 | 64 72 73 20 69 66 20 74 |of IP ad|drs if t|
|000012c0| 68 69 73 20 72 65 66 6c | 65 63 74 6f 72 20 20 20 |his refl|ector |
|000012d0| 20 20 20 20 20 2a 2f 0a | 73 68 6f 72 74 20 72 65 | */.|short re|
|000012e0| 73 74 72 69 63 74 5f 63 | 6e 74 20 3d 20 30 3b 20 |strict_c|nt = 0; |
|000012f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001300| 20 20 20 20 20 20 2f 2a | 20 69 73 20 72 65 73 74 | /*| is rest|
|00001310| 72 69 63 74 65 64 20 20 | 20 20 20 20 20 20 20 20 |ricted | |
|00001320| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001330| 20 20 20 2a 2f 0a 0a 75 | 6e 73 69 67 6e 65 64 20 | */..u|nsigned |
|00001340| 6c 6f 6e 67 20 64 65 6e | 79 5f 6c 69 73 74 5b 4d |long den|y_list[M|
|00001350| 41 58 43 4c 49 45 4e 54 | 5d 3b 20 20 20 20 20 20 |AXCLIENT|]; |
|00001360| 20 20 20 20 20 2f 2a 20 | 6c 69 73 74 20 6f 66 20 | /* |list of |
|00001370| 49 50 20 61 64 64 72 73 | 20 74 6f 20 64 65 6e 79 |IP addrs| to deny|
|00001380| 20 63 6f 6e 6e 65 63 74 | 69 76 69 74 79 20 74 6f | connect|ivity to|
|00001390| 20 20 2a 2f 0a 73 68 6f | 72 74 20 64 65 6e 79 5f | */.sho|rt deny_|
|000013a0| 63 6e 74 20 3d 20 30 3b | 20 20 20 20 20 20 20 20 |cnt = 0;| |
|000013b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000013c0| 20 20 20 2f 2a 20 20 20 | 20 20 20 20 20 20 20 20 | /* | |
|000013d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000013e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000013f0| 2a 2f 0a 0a 75 6e 73 69 | 67 6e 65 64 20 6c 6f 6e |*/..unsi|gned lon|
|00001400| 67 20 62 63 63 5f 73 65 | 72 76 65 72 5f 6c 69 73 |g bcc_se|rver_lis|
|00001410| 74 5b 4d 41 58 53 52 43 | 52 45 46 5d 3b 20 20 20 |t[MAXSRC|REF]; |
|00001420| 20 20 2f 2a 20 6c 69 73 | 74 20 6f 66 20 42 6c 69 | /* lis|t of Bli|
|00001430| 6e 64 20 43 61 72 62 6f | 6e 20 43 6f 70 79 20 53 |nd Carbo|n Copy S|
|00001440| 65 72 76 65 72 73 2c 20 | 66 72 6f 6d 20 20 20 2a |ervers, |from *|
|00001450| 2f 0a 73 68 6f 72 74 20 | 62 63 63 5f 73 72 76 5f |/.short |bcc_srv_|
|00001460| 63 6e 74 20 3d 20 30 3b | 20 20 20 20 20 20 20 20 |cnt = 0;| |
|00001470| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001480| 2f 2a 20 77 68 6f 6d 20 | 77 65 20 61 72 65 20 74 |/* whom |we are t|
|00001490| 6f 20 67 65 74 20 76 69 | 64 65 6f 20 66 72 6f 6d |o get vi|deo from|
|000014a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 2a 2f 0a | | */.|
|000014b0| 0a 75 6e 73 69 67 6e 65 | 64 20 6c 6f 6e 67 20 62 |.unsigne|d long b|
|000014c0| 63 63 5f 63 6c 69 65 6e | 74 5f 6c 69 73 74 5b 4d |cc_clien|t_list[M|
|000014d0| 41 58 53 52 43 52 45 46 | 5d 3b 20 20 20 20 20 2f |AXSRCREF|]; /|
|000014e0| 2a 20 6c 69 73 74 20 6f | 66 20 42 6c 69 6e 64 20 |* list o|f Blind |
|000014f0| 43 61 72 62 6f 6e 20 43 | 6f 70 79 20 43 6c 69 65 |Carbon C|opy Clie|
|00001500| 6e 74 73 2c 20 74 6f 20 | 20 20 20 20 2a 2f 0a 73 |nts, to | */.s|
|00001510| 68 6f 72 74 20 62 63 63 | 5f 63 6c 74 5f 63 6e 74 |hort bcc|_clt_cnt|
|00001520| 20 3d 20 30 3b 20 20 20 | 20 20 20 20 20 20 20 20 | = 0; | |
|00001530| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 2f 2a 20 | | /* |
|00001540| 77 68 6f 6d 20 77 65 20 | 61 72 65 20 74 6f 20 67 |whom we |are to g|
|00001550| 69 76 65 20 76 69 64 65 | 6f 20 74 6f 20 20 20 20 |ive vide|o to |
|00001560| 20 20 20 20 20 20 20 20 | 20 20 2a 2f 0a 0a 75 6e | | */..un|
|00001570| 73 69 67 6e 65 64 20 6c | 6f 6e 67 20 72 65 66 5f |signed l|ong ref_|
|00001580| 75 63 61 73 74 5f 6c 69 | 73 74 5b 4d 41 58 53 52 |ucast_li|st[MAXSR|
|00001590| 43 52 45 46 5d 3b 20 20 | 20 20 20 20 2f 2a 20 6c |CREF]; | /* l|
|000015a0| 69 73 74 20 6f 66 20 75 | 6e 69 63 61 73 74 20 72 |ist of u|nicast r|
|000015b0| 65 66 6c 65 63 74 6f 72 | 73 20 20 20 20 20 20 20 |eflector|s |
|000015c0| 20 20 20 20 20 20 20 20 | 20 2a 2f 0a 73 68 6f 72 | | */.shor|
|000015d0| 74 20 72 65 66 5f 75 63 | 61 73 74 5f 63 6e 74 20 |t ref_uc|ast_cnt |
|000015e0| 3d 20 30 3b 20 20 20 20 | 20 20 20 20 20 20 20 20 |= 0; | |
|000015f0| 20 20 20 20 20 20 20 20 | 20 20 2f 2a 20 63 6f 75 | | /* cou|
|00001600| 6e 74 20 6f 66 20 75 6e | 69 63 61 73 74 20 72 65 |nt of un|icast re|
|00001610| 66 6c 65 63 74 6f 72 73 | 20 20 20 20 20 20 20 20 |flectors| |
|00001620| 20 20 20 20 20 20 20 2a | 2f 0a 0a 63 68 61 72 20 | *|/..char |
|00001630| 2a 74 72 61 63 65 66 69 | 6c 65 3b 20 20 20 20 20 |*tracefi|le; |
|00001640| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001650| 20 20 20 20 20 20 20 20 | 20 2f 2a 20 74 72 61 63 | | /* trac|
|00001660| 65 20 2f 20 6c 6f 67 20 | 66 69 6c 65 20 6e 61 6d |e / log |file nam|
|00001670| 65 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |e | |
|00001680| 20 20 20 20 20 20 2a 2f | 0a 46 49 4c 45 20 2a 6c | */|.FILE *l|
|00001690| 6f 67 5f 66 69 6c 65 3b | 0a 0a 73 68 6f 72 74 20 |og_file;|..short |
|000016a0| 64 65 62 75 67 20 3d 20 | 30 3b 20 20 20 20 20 20 |debug = |0; |
|000016b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000016c0| 20 20 20 20 20 20 20 20 | 2f 2a 20 69 66 20 31 2c | |/* if 1,|
|000016d0| 20 74 75 72 6e 20 6f 6e | 20 64 65 62 75 67 67 69 | turn on| debuggi|
|000016e0| 6e 67 20 6d 65 73 73 61 | 67 65 73 20 20 20 20 20 |ng messa|ges |
|000016f0| 20 20 20 20 20 2a 2f 0a | 73 68 6f 72 74 20 73 65 | */.|short se|
|00001700| 6c 66 5f 72 65 66 6c 65 | 63 74 20 3d 20 30 3b 20 |lf_refle|ct = 0; |
|00001710| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001720| 20 20 20 20 20 20 2f 2a | 20 69 66 20 31 2c 20 72 | /*| if 1, r|
|00001730| 65 66 6c 65 63 74 20 62 | 61 63 6b 20 74 6f 20 74 |eflect b|ack to t|
|00001740| 68 65 20 73 65 6e 64 20 | 20 20 20 20 20 20 20 20 |he send | |
|00001750| 20 20 20 2a 2f 0a 0a 73 | 68 6f 72 74 20 6c 6f 63 | */..s|hort loc|
|00001760| 61 6c 5f 73 65 6e 64 65 | 72 73 20 3d 20 31 3b 20 |al_sende|rs = 1; |
|00001770| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001780| 20 20 20 20 20 2f 2a 20 | 69 66 20 30 2c 20 64 69 | /* |if 0, di|
|00001790| 73 61 6c 6c 6f 77 20 6c | 6f 63 61 6c 20 63 6f 6e |sallow l|ocal con|
|000017a0| 66 65 72 65 6e 63 69 6e | 67 2c 20 75 73 65 64 20 |ferencin|g, used |
|000017b0| 20 20 2a 2f 0a 09 09 09 | 09 09 20 20 20 20 20 20 | */....|.. |
|000017c0| 2f 2a 20 69 66 20 74 68 | 69 73 20 72 65 66 6c 65 |/* if th|is refle|
|000017d0| 63 74 6f 72 20 69 73 20 | 73 69 6d 70 6c 79 20 66 |ctor is |simply f|
|000017e0| 65 65 64 69 6e 67 20 61 | 20 20 20 20 20 2a 2f 0a |eeding a| */.|
|000017f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001800| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001810| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 2f 2a | | /*|
|00001820| 20 63 6f 6e 66 65 72 65 | 6e 63 65 20 74 6f 20 61 | confere|nce to a|
|00001830| 6c 6c 20 6f 66 20 69 74 | 27 73 20 63 6c 69 65 6e |ll of it|'s clien|
|00001840| 74 73 20 20 20 20 20 20 | 20 20 20 2a 2f 0a 0a 75 |ts | */..u|
|00001850| 6e 73 69 67 6e 65 64 20 | 6c 6f 6e 67 20 63 6f 6e |nsigned |long con|
|00001860| 74 72 6f 6c 5f 69 70 20 | 3d 20 2d 31 3b 20 20 20 |trol_ip |= -1; |
|00001870| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 2f 2a 20 | | /* |
|00001880| 69 70 20 61 64 64 72 65 | 73 73 20 66 6f 72 20 72 |ip addre|ss for r|
|00001890| 65 66 6d 6f 6e 20 20 20 | 20 20 20 20 20 20 20 20 |efmon | |
|000018a0| 20 20 20 20 20 20 20 20 | 20 20 2a 2f 0a 75 6e 73 | | */.uns|
|000018b0| 69 67 6e 65 64 20 6c 6f | 6e 67 20 67 6f 64 5f 69 |igned lo|ng god_i|
|000018c0| 70 20 3d 20 2d 31 3b 20 | 20 20 20 20 20 20 20 20 |p = -1; | |
|000018d0| 20 20 20 20 20 20 20 20 | 20 20 20 2f 2a 20 69 70 | | /* ip|
|000018e0| 20 61 64 64 72 65 73 73 | 20 66 6f 72 20 74 68 65 | address| for the|
|000018f0| 20 63 6f 6e 66 65 72 65 | 6e 63 65 20 67 6f 64 20 | confere|nce god |
|00001900| 20 20 20 20 20 20 20 20 | 2a 2f 0a 0a 0a 69 6e 74 | |*/...int|
|00001910| 20 63 6f 6e 66 65 72 65 | 6e 63 65 5f 69 64 20 3d | confere|nce_id =|
|00001920| 20 30 3b 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | 0; | |
|00001930| 20 20 20 20 20 20 20 20 | 20 20 20 2f 2a 20 63 6f | | /* co|
|00001940| 6e 66 65 72 65 6e 63 65 | 20 69 64 20 20 20 20 20 |nference| id |
|00001950| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001960| 20 20 20 20 20 20 20 20 | 2a 2f 0a 0a 73 68 6f 72 | |*/..shor|
|00001970| 74 20 74 69 6d 65 72 5f | 65 78 70 69 72 65 64 20 |t timer_|expired |
|00001980| 3d 20 30 3b 20 20 20 20 | 20 20 20 20 20 20 20 20 |= 0; | |
|00001990| 20 20 20 20 20 20 20 20 | 20 20 2f 2a 20 6b 65 65 | | /* kee|
|000019a0| 70 20 74 72 61 63 6b 20 | 6f 66 20 6f 75 72 20 74 |p track |of our t|
|000019b0| 69 6d 65 72 20 20 20 20 | 20 20 20 20 20 20 20 20 |imer | |
|000019c0| 20 20 20 20 20 20 20 2a | 2f 0a 0a 69 6e 74 20 6d | *|/..int m|
|000019d0| 69 6e 5f 6d 61 63 5f 76 | 65 72 73 69 6f 6e 20 3d |in_mac_v|ersion =|
|000019e0| 20 30 3b 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | 0; | |
|000019f0| 20 20 20 20 20 20 20 20 | 20 2f 2a 20 6d 69 6e 69 | | /* mini|
|00001a00| 6d 75 6d 20 6d 61 63 20 | 76 65 72 73 69 6f 6e 20 |mum mac |version |
|00001a10| 23 20 72 65 71 75 69 72 | 65 64 20 66 6f 72 20 74 |# requir|ed for t|
|00001a20| 68 69 73 20 72 65 66 20 | 20 2a 2f 20 0a 69 6e 74 |his ref | */ .int|
|00001a30| 20 6d 69 6e 5f 70 63 5f | 76 65 72 73 69 6f 6e 20 | min_pc_|version |
|00001a40| 3d 20 30 3b 20 20 20 20 | 20 20 20 20 20 20 20 20 |= 0; | |
|00001a50| 20 20 20 20 20 20 20 20 | 20 20 20 2f 2a 20 6d 69 | | /* mi|
|00001a60| 6e 69 6d 75 6d 20 70 63 | 20 76 65 72 73 69 6f 6e |nimum pc| version|
|00001a70| 20 23 20 72 65 71 75 69 | 72 65 64 20 66 6f 72 20 | # requi|red for |
|00001a80| 74 68 69 73 20 72 65 66 | 20 20 20 2a 2f 20 0a 0a |this ref| */ ..|
|00001a90| 69 6e 74 20 76 69 64 5f | 73 6f 63 6b 2c 63 6e 74 |int vid_|sock,cnt|
|00001aa0| 72 6c 5f 73 6f 63 6b 2c | 6d 73 67 5f 73 6f 63 6b |rl_sock,|msg_sock|
|00001ab0| 3b 20 20 20 20 20 20 20 | 20 20 20 20 20 20 2f 2a |; | /*|
|00001ac0| 20 76 69 64 65 6f 20 73 | 6f 63 6b 65 74 2c 20 63 | video s|ocket, c|
|00001ad0| 6f 6e 74 72 6f 6c 20 20 | 20 20 20 20 20 20 20 20 |ontrol | |
|00001ae0| 20 20 20 20 20 20 20 20 | 20 20 20 2a 2f 0a 09 09 | | */...|
|00001af0| 09 09 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|00001b00| 2f 2a 20 73 6f 63 6b 65 | 74 2c 20 61 6e 64 20 6d |/* socke|t, and m|
|00001b10| 65 73 73 61 67 65 20 73 | 6f 63 6b 65 74 20 66 6f |essage s|ocket fo|
|00001b20| 72 20 73 75 70 70 6f 72 | 69 6e 67 20 20 2a 2f 0a |r suppor|ing */.|
|00001b30| 09 09 09 09 09 20 20 20 | 20 20 20 2f 2a 20 74 68 |..... | /* th|
|00001b40| 65 20 63 6f 6e 74 72 6f | 6c 20 73 6f 63 6b 65 74 |e contro|l socket|
|00001b50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001b60| 20 20 20 20 20 20 20 20 | 2a 2f 0a 0a 73 74 72 75 | |*/..stru|
|00001b70| 63 74 20 73 6f 63 6b 61 | 64 64 72 5f 69 6e 20 6d |ct socka|ddr_in m|
|00001b80| 79 61 64 64 72 3b 20 20 | 20 20 20 20 20 20 20 20 |yaddr; | |
|00001b90| 20 20 20 20 20 20 20 20 | 20 20 2f 2a 20 6d 79 20 | | /* my |
|00001ba0| 61 64 64 72 65 73 73 20 | 20 20 20 20 20 20 20 20 |address | |
|00001bb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001bc0| 20 20 20 20 20 20 20 2a | 2f 0a 69 6e 74 20 6d 61 | *|/.int ma|
|00001bd0| 78 61 6c 6c 6f 77 65 64 | 3b 20 20 20 20 20 20 20 |xallowed|; |
|00001be0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001bf0| 20 20 20 20 20 20 20 20 | 2f 2a 20 6d 61 78 69 6d | |/* maxim|
|00001c00| 75 6d 20 23 20 6f 66 20 | 63 6c 69 65 6e 74 73 20 |um # of |clients |
|00001c10| 61 6c 6c 6f 77 65 64 20 | 20 20 20 20 20 20 20 20 |allowed | |
|00001c20| 20 20 20 20 20 2a 2f 0a | 0a 63 68 61 72 20 63 6f | */.|.char co|
|00001c30| 6e 66 5f 62 75 66 5b 43 | 4f 4e 46 42 55 46 5d 3b |nf_buf[C|ONFBUF];|
|00001c40| 09 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00001c50| 20 20 20 20 20 20 20 2f | 2a 20 62 75 66 66 65 72 | /|* buffer|
|00001c60| 20 66 6f 72 20 73 74 6f | 72 69 6e 67 20 74 68 65 | for sto|ring the|
|00001c70| 20 63 6f 6e 66 69 67 20 | 66 69 6c 65 20 20 20 20 | config |file |
|00001c80| 20 20 20 20 2a 2f 20 20 | 0a 63 68 61 72 20 6d 6f | */ |.char mo|
|00001c90| 74 64 5f 62 75 66 5b 4d | 4f 54 44 42 55 46 5d 3b |td_buf[M|OTDBUF];|
|00001ca0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001cb0| 20 20 20 20 20 20 20 2f | 2a 20 62 75 66 66 65 72 | /|* buffer|
|00001cc0| 20 66 6f 72 20 73 74 6f | 72 69 6e 67 20 74 68 65 | for sto|ring the|
|00001cd0| 20 4d 4f 54 44 20 20 20 | 20 20 20 20 20 20 20 20 | MOTD | |
|00001ce0| 20 20 20 20 2a 2f 0a 0a | 63 68 61 72 20 6d 70 5f | */..|char mp_|
|00001cf0| 62 75 66 5b 4d 53 47 42 | 55 46 5d 3b 20 20 20 20 |buf[MSGB|UF]; |
|00001d00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001d10| 20 20 20 20 20 20 2f 2a | 20 62 75 66 66 65 72 20 | /*| buffer |
|00001d20| 66 6f 72 20 6d 61 78 2d | 70 61 72 74 69 63 69 70 |for max-|particip|
|00001d30| 61 6e 74 73 20 65 72 72 | 6f 72 20 6d 73 67 20 20 |ants err|or msg |
|00001d40| 20 20 20 2a 2f 0a 63 68 | 61 72 20 63 69 5f 62 75 | */.ch|ar ci_bu|
|00001d50| 66 5b 4d 53 47 42 55 46 | 5d 3b 20 20 20 20 20 20 |f[MSGBUF|]; |
|00001d60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001d70| 20 20 20 20 2f 2a 20 62 | 75 66 66 65 72 20 66 6f | /* b|uffer fo|
|00001d80| 72 20 63 6f 6e 66 65 72 | 65 6e 63 65 2d 69 64 20 |r confer|ence-id |
|00001d90| 65 72 72 6f 72 20 6d 73 | 67 20 20 20 20 20 20 20 |error ms|g |
|00001da0| 20 2a 2f 0a 63 68 61 72 | 20 61 64 5f 62 75 66 5b | */.char| ad_buf[|
|00001db0| 4d 53 47 42 55 46 5d 3b | 20 20 20 20 20 20 20 20 |MSGBUF];| |
|00001dc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001dd0| 20 20 2f 2a 20 62 75 66 | 66 65 72 20 66 6f 72 20 | /* buf|fer for |
|00001de0| 61 64 6d 69 74 20 65 72 | 72 6f 72 20 6d 73 67 20 |admit er|ror msg |
|00001df0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 2a | | *|
|00001e00| 2f 0a 63 68 61 72 20 6d | 76 5f 6d 61 63 5f 62 75 |/.char m|v_mac_bu|
|00001e10| 66 5b 4d 53 47 42 55 46 | 5d 3b 20 20 20 20 20 20 |f[MSGBUF|]; |
|00001e20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001e30| 2f 2a 20 62 75 66 66 65 | 72 20 66 6f 72 20 6d 69 |/* buffe|r for mi|
|00001e40| 6e 2d 6d 61 63 2d 76 65 | 72 73 69 6f 6e 20 65 72 |n-mac-ve|rsion er|
|00001e50| 72 6f 72 20 6d 73 67 20 | 20 20 20 20 20 2a 2f 0a |ror msg | */.|
|00001e60| 63 68 61 72 20 6d 76 5f | 70 63 5f 62 75 66 5b 4d |char mv_|pc_buf[M|
|00001e70| 53 47 42 55 46 5d 3b 20 | 20 20 20 20 20 20 20 20 |SGBUF]; | |
|00001e80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 2f 2a | | /*|
|00001e90| 20 62 75 66 66 65 72 20 | 66 6f 72 20 6d 69 6e 2d | buffer |for min-|
|00001ea0| 70 63 2d 76 65 72 73 69 | 6f 6e 20 65 72 72 6f 72 |pc-versi|on error|
|00001eb0| 20 6d 73 67 20 20 20 20 | 20 20 20 2a 2f 0a 63 68 | msg | */.ch|
|00001ec0| 61 72 20 64 79 5f 62 75 | 66 5b 4d 53 47 42 55 46 |ar dy_bu|f[MSGBUF|
|00001ed0| 5d 3b 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |]; | |
|00001ee0| 20 20 20 20 20 20 20 20 | 20 20 20 20 2f 2a 20 62 | | /* b|
|00001ef0| 75 66 66 65 72 20 66 6f | 72 20 64 65 6e 79 20 65 |uffer fo|r deny e|
|00001f00| 72 72 6f 72 20 6d 73 67 | 20 20 20 20 20 20 20 20 |rror msg| |
|00001f10| 20 20 20 20 20 20 20 20 | 20 2a 2f 0a 0a 73 68 6f | | */..sho|
|00001f20| 72 74 20 6d 6f 74 64 5f | 6c 65 6e 20 3d 20 30 3b |rt motd_|len = 0;|
|00001f30| 0a 0a 69 6e 74 20 6d 61 | 76 65 6e 5f 70 6f 72 74 |..int ma|ven_port|
|00001f40| 20 3d 20 30 3b 20 20 20 | 20 20 20 20 20 20 20 20 | = 0; | |
|00001f50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001f60| 2f 2a 20 73 6f 63 6b 65 | 74 73 20 66 6f 72 20 68 |/* socke|ts for h|
|00001f70| 61 6e 64 6c 69 6e 67 20 | 4d 61 76 65 6e 20 63 6c |andling |Maven cl|
|00001f80| 69 65 6e 74 73 20 20 20 | 20 20 20 20 20 2a 2f 0a |ients | */.|
|00001f90| 69 6e 74 20 6d 61 76 65 | 6e 5f 73 6f 63 6b 20 3d |int mave|n_sock =|
|00001fa0| 20 30 3b 0a 69 6e 74 20 | 6d 61 76 65 6e 5f 63 6e | 0;.int |maven_cn|
|00001fb0| 74 6c 5f 73 6f 63 6b 20 | 3d 20 30 3b 0a 0a 75 6e |tl_sock |= 0;..un|
|00001fc0| 73 69 67 6e 65 64 20 73 | 68 6f 72 74 20 63 6c 69 |signed s|hort cli|
|00001fd0| 65 6e 74 5f 63 6e 74 20 | 3d 20 30 3b 20 20 20 20 |ent_cnt |= 0; |
|00001fe0| 20 20 20 20 20 20 20 20 | 20 20 20 20 2f 2a 20 23 | | /* #|
|00001ff0| 20 6f 66 20 4d 61 63 2f | 50 43 20 63 6c 69 65 6e | of Mac/|PC clien|
|00002000| 74 73 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ts | |
|00002010| 20 20 20 20 20 20 20 20 | 20 2a 2f 0a 0a 75 6e 73 | | */..uns|
|00002020| 69 67 6e 65 64 20 73 68 | 6f 72 74 20 62 63 63 5f |igned sh|ort bcc_|
|00002030| 63 6c 69 65 6e 74 5f 63 | 6e 74 20 3d 20 30 3b 20 |client_c|nt = 0; |
|00002040| 20 20 20 20 20 20 20 20 | 20 20 20 2f 2a 20 23 20 | | /* # |
|00002050| 6f 66 20 42 43 43 20 63 | 6c 69 65 6e 74 73 20 20 |of BCC c|lients |
|00002060| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002070| 20 20 20 20 20 20 20 20 | 2a 2f 0a 75 6e 73 69 67 | |*/.unsig|
|00002080| 6e 65 64 20 73 68 6f 72 | 74 20 62 63 63 5f 6f 72 |ned shor|t bcc_or|
|00002090| 69 67 69 6e 5f 63 6e 74 | 20 3d 20 30 3b 20 20 20 |igin_cnt| = 0; |
|000020a0| 20 20 20 20 20 20 20 20 | 20 2f 2a 20 23 20 6f 66 | | /* # of|
|000020b0| 20 42 43 43 20 6f 72 69 | 67 69 6e 73 20 20 20 20 | BCC ori|gins |
|000020c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000020d0| 20 20 20 20 20 20 2a 2f | 0a 75 6e 73 69 67 6e 65 | */|.unsigne|
|000020e0| 64 20 73 68 6f 72 74 20 | 62 63 63 5f 73 65 72 76 |d short |bcc_serv|
|000020f0| 65 72 5f 63 6e 74 20 3d | 20 30 3b 20 20 20 20 20 |er_cnt =| 0; |
|00002100| 20 20 20 20 20 20 20 2f | 2a 20 23 20 6f 66 20 42 | /|* # of B|
|00002110| 43 43 20 73 65 72 76 65 | 72 73 20 20 20 20 20 20 |CC serve|rs |
|00002120| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002130| 20 20 20 20 2a 2f 0a 0a | 75 6e 73 69 67 6e 65 64 | */..|unsigned|
|00002140| 20 73 68 6f 72 74 20 72 | 65 66 31 5f 73 65 72 76 | short r|ef1_serv|
|00002150| 65 72 5f 63 6e 74 20 3d | 20 30 3b 20 20 20 20 20 |er_cnt =| 0; |
|00002160| 20 20 20 20 20 20 2f 2a | 20 23 20 6f 66 20 52 45 | /*| # of RE|
|00002170| 46 31 20 73 65 72 76 65 | 72 73 20 20 20 20 20 20 |F1 serve|rs |
|00002180| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002190| 20 20 20 2a 2f 0a 75 6e | 73 69 67 6e 65 64 20 73 | */.un|signed s|
|000021a0| 68 6f 72 74 20 72 65 66 | 31 5f 6f 72 69 67 69 6e |hort ref|1_origin|
|000021b0| 5f 63 6e 74 20 3d 20 30 | 3b 20 20 20 20 20 20 20 |_cnt = 0|; |
|000021c0| 20 20 20 20 2f 2a 20 23 | 20 6f 66 20 52 45 46 31 | /* #| of REF1|
|000021d0| 20 6f 72 69 67 69 6e 73 | 20 20 20 20 20 20 20 20 | origins| |
|000021e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000021f0| 20 2a 2f 0a 75 6e 73 69 | 67 6e 65 64 20 73 68 6f | */.unsi|gned sho|
|00002200| 72 74 20 72 65 66 31 5f | 63 6c 69 65 6e 74 5f 63 |rt ref1_|client_c|
|00002210| 6e 74 20 3d 20 30 3b 20 | 20 20 20 20 20 20 20 20 |nt = 0; | |
|00002220| 20 20 2f 2a 20 23 20 6f | 66 20 52 45 46 31 20 63 | /* # o|f REF1 c|
|00002230| 6c 69 65 6e 74 73 20 20 | 20 20 20 20 20 20 20 20 |lients | |
|00002240| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 2a | | *|
|00002250| 2f 0a 0a 75 6e 73 69 67 | 6e 65 64 20 73 68 6f 72 |/..unsig|ned shor|
|00002260| 74 20 72 65 66 32 5f 73 | 65 72 76 65 72 5f 63 6e |t ref2_s|erver_cn|
|00002270| 74 20 3d 20 30 3b 20 20 | 20 20 20 20 20 20 20 20 |t = 0; | |
|00002280| 20 2f 2a 20 23 20 6f 66 | 20 52 45 46 32 20 73 65 | /* # of| REF2 se|
|00002290| 72 76 65 72 73 20 20 20 | 20 20 20 20 20 20 20 20 |rvers | |
|000022a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 2a 2f | | */|
|000022b0| 0a 75 6e 73 69 67 6e 65 | 64 20 73 68 6f 72 74 20 |.unsigne|d short |
|000022c0| 72 65 66 32 5f 6f 72 69 | 67 69 6e 5f 63 6e 74 20 |ref2_ori|gin_cnt |
|000022d0| 3d 20 30 3b 20 20 20 20 | 20 20 20 20 20 20 20 2f |= 0; | /|
|000022e0| 2a 20 23 20 6f 66 20 52 | 45 46 32 20 6f 72 69 67 |* # of R|EF2 orig|
|000022f0| 69 6e 73 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ins | |
|00002300| 20 20 20 20 20 20 20 20 | 20 20 20 20 2a 2f 0a 0a | | */..|
|00002310| 75 6e 73 69 67 6e 65 64 | 20 73 68 6f 72 74 20 72 |unsigned| short r|
|00002320| 65 66 33 5f 73 65 72 76 | 65 72 5f 63 6e 74 20 3d |ef3_serv|er_cnt =|
|00002330| 20 30 3b 20 20 20 20 20 | 20 20 20 20 20 20 2f 2a | 0; | /*|
|00002340| 20 23 20 6f 66 20 52 45 | 46 33 20 73 65 72 76 65 | # of RE|F3 serve|
|00002350| 72 73 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |rs | |
|00002360| 20 20 20 20 20 20 20 20 | 20 20 20 2a 2f 0a 75 6e | | */.un|
|00002370| 73 69 67 6e 65 64 20 73 | 68 6f 72 74 20 72 65 66 |signed s|hort ref|
|00002380| 33 5f 6f 72 69 67 69 6e | 5f 63 6e 74 20 3d 20 30 |3_origin|_cnt = 0|
|00002390| 3b 20 20 20 20 20 20 20 | 20 20 20 20 2f 2a 20 23 |; | /* #|
|000023a0| 20 6f 66 20 52 45 46 33 | 20 6f 72 69 67 69 6e 73 | of REF3| origins|
|000023b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000023c0| 20 20 20 20 20 20 20 20 | 20 2a 2f 0a 0a 0a 69 6e | | */...in|
|000023d0| 74 20 6c 6f 67 5f 6c 69 | 6d 69 74 20 3d 20 31 30 |t log_li|mit = 10|
|000023e0| 30 30 30 3b 20 20 20 20 | 20 20 20 20 20 20 20 20 |000; | |
|000023f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 2f 2a 20 64 | | /* d|
|00002400| 65 66 61 75 6c 74 20 6c | 6f 67 20 66 69 6c 65 20 |efault l|og file |
|00002410| 6c 69 6e 65 20 6c 69 6d | 69 74 20 20 20 20 20 20 |line lim|it |
|00002420| 20 20 20 20 20 20 20 20 | 20 2a 2f 0a 0a 63 68 61 | | */..cha|
|00002430| 72 20 73 74 61 72 74 5f | 74 69 6d 65 5b 32 35 5d |r start_|time[25]|
|00002440| 3b 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |; | |
|00002450| 20 20 20 20 20 20 20 20 | 20 20 20 2f 2a 20 64 61 | | /* da|
|00002460| 74 65 20 61 6e 64 20 74 | 69 6d 65 20 77 68 65 6e |te and t|ime when|
|00002470| 20 72 65 66 6c 65 63 74 | 6f 72 20 77 61 73 20 73 | reflect|or was s|
|00002480| 74 61 72 74 65 64 20 20 | 2a 2f 0a 0a 23 69 66 64 |tarted |*/..#ifd|
|00002490| 65 66 20 4d 55 4c 54 49 | 0a 73 74 72 75 63 74 20 |ef MULTI|.struct |
|000024a0| 73 6f 63 6b 61 64 64 72 | 5f 69 6e 20 6e 76 5f 6d |sockaddr|_in nv_m|
|000024b0| 63 61 73 74 3b 20 20 20 | 20 20 20 20 20 20 20 20 |cast; | |
|000024c0| 20 20 20 20 20 20 20 2f | 2a 20 73 6f 63 6b 65 74 | /|* socket|
|000024d0| 20 66 6f 72 20 73 65 6e | 64 69 6e 67 20 74 6f 20 | for sen|ding to |
|000024e0| 6e 76 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |nv | |
|000024f0| 20 20 20 20 2a 2f 0a 69 | 6e 74 20 6e 76 5f 6d 63 | */.i|nt nv_mc|
|00002500| 61 73 74 5f 73 6f 63 6b | 3b 0a 0a 73 74 72 75 63 |ast_sock|;..struc|
|00002510| 74 20 73 6f 63 6b 61 64 | 64 72 5f 69 6e 20 72 66 |t sockad|dr_in rf|
|00002520| 6f 75 74 5f 6d 63 61 73 | 74 3b 20 20 20 20 20 20 |out_mcas|t; |
|00002530| 20 20 20 20 20 20 20 20 | 20 2f 2a 20 73 6f 63 6b | | /* sock|
|00002540| 65 74 20 66 6f 72 20 73 | 65 6e 64 69 6e 67 20 74 |et for s|ending t|
|00002550| 6f 20 6f 74 68 65 72 20 | 72 65 66 6c 65 63 74 6f |o other |reflecto|
|00002560| 72 73 20 20 20 20 2a 2f | 0a 69 6e 74 20 72 66 6f |rs */|.int rfo|
|00002570| 75 74 5f 6d 63 61 73 74 | 5f 73 6f 63 6b 3b 0a 0a |ut_mcast|_sock;..|
|00002580| 73 74 72 75 63 74 20 73 | 6f 63 6b 61 64 64 72 5f |struct s|ockaddr_|
|00002590| 69 6e 20 72 66 69 6e 5f | 6d 63 61 73 74 3b 20 20 |in rfin_|mcast; |
|000025a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 2f 2a | | /*|
|000025b0| 20 73 6f 63 6b 65 74 20 | 66 6f 72 20 72 65 63 65 | socket |for rece|
|000025c0| 69 76 69 6e 67 20 66 72 | 6f 6d 20 6f 74 68 65 72 |iving fr|om other|
|000025d0| 20 72 65 66 6c 65 63 74 | 6f 72 73 20 2a 2f 20 0a | reflect|ors */ .|
|000025e0| 69 6e 74 20 72 66 69 6e | 5f 6d 63 61 73 74 5f 73 |int rfin|_mcast_s|
|000025f0| 6f 63 6b 3b 0a 0a 73 74 | 72 75 63 74 20 73 6f 63 |ock;..st|ruct soc|
|00002600| 6b 61 64 64 72 5f 69 6e | 20 69 6e 6f 75 74 5f 6d |kaddr_in| inout_m|
|00002610| 63 61 73 74 3b 20 20 20 | 20 20 20 20 20 20 20 20 |cast; | |
|00002620| 20 20 20 20 2f 2a 20 73 | 6f 63 6b 65 74 20 66 6f | /* s|ocket fo|
|00002630| 72 20 73 65 6e 64 69 6e | 67 20 61 6e 64 20 72 65 |r sendin|g and re|
|00002640| 63 65 69 76 69 6e 67 20 | 66 72 6f 6d 20 6f 74 68 |ceiving |from oth|
|00002650| 65 72 20 72 65 66 6c 65 | 63 74 6f 72 73 20 2a 2f |er refle|ctors */|
|00002660| 20 0a 69 6e 74 20 69 6e | 6f 75 74 5f 6d 63 61 73 | .int in|out_mcas|
|00002670| 74 5f 73 6f 63 6b 3b 0a | 0a 69 6e 74 20 6e 76 5f |t_sock;.|.int nv_|
|00002680| 74 74 6c 2c 72 66 5f 74 | 74 6c 2c 69 6e 6f 75 74 |ttl,rf_t|tl,inout|
|00002690| 5f 74 74 6c 3b 20 20 20 | 20 20 20 20 20 20 20 20 |_ttl; | |
|000026a0| 20 20 20 20 20 20 20 2f | 2a 20 6d 75 6c 74 69 63 | /|* multic|
|000026b0| 61 73 74 20 74 74 6c 27 | 73 20 20 20 20 20 20 20 |ast ttl'|s |
|000026c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000026d0| 20 20 20 20 2a 2f 0a 23 | 65 6e 64 69 66 0a 0a 75 | */.#|endif..u|
|000026e0| 6e 73 69 67 6e 65 64 20 | 63 68 61 72 20 20 62 75 |nsigned |char bu|
|000026f0| 66 66 65 72 5b 4d 41 58 | 4d 53 47 5d 3b 0a 0a 6d |ffer[MAX|MSG];..m|
|00002700| 61 69 6e 28 61 72 67 63 | 2c 20 61 72 67 76 29 0a |ain(argc|, argv).|
|00002710| 20 20 20 20 69 6e 74 20 | 20 20 20 20 20 20 20 20 | int | |
|00002720| 20 20 20 20 20 20 20 61 | 72 67 63 3b 0a 20 20 20 | a|rgc;. |
|00002730| 20 63 68 61 72 20 20 20 | 20 20 20 20 20 20 20 20 | char | |
|00002740| 20 20 20 20 2a 61 72 67 | 76 5b 5d 3b 0a 7b 0a 0a | *arg|v[];.{..|
|00002750| 20 20 20 20 75 6e 73 69 | 67 6e 65 64 20 63 68 61 | unsi|gned cha|
|00002760| 72 20 20 20 20 20 20 20 | 2a 6d 73 67 2c 2a 73 2c |r |*msg,*s,|
|00002770| 2a 63 70 74 72 2c 2a 63 | 70 74 72 31 2c 76 65 72 |*cptr,*c|ptr1,ver|
|00002780| 73 69 6f 6e 3b 0a 20 20 | 20 20 56 69 64 65 6f 50 |sion;. | VideoP|
|00002790| 61 63 6b 65 74 48 65 61 | 64 65 72 20 20 20 2a 76 |acketHea|der *v|
|000027a0| 69 64 70 74 72 2c 20 2a | 76 74 6d 70 3b 20 0a 20 |idptr, *|vtmp; . |
|000027b0| 20 20 20 52 65 66 43 6f | 6e 50 6b 74 20 20 20 20 | RefCo|nPkt |
|000027c0| 20 20 20 20 20 20 20 70 | 6b 74 3b 0a 20 20 20 20 | p|kt;. |
|000027d0| 52 65 66 43 6f 6e 50 6b | 74 20 20 20 20 20 20 20 |RefConPk|t |
|000027e0| 20 20 20 20 2a 63 6f 6e | 70 6b 74 3b 0a 20 20 20 | *con|pkt;. |
|000027f0| 20 63 6c 69 65 6e 74 20 | 20 20 20 20 20 20 20 20 | client | |
|00002800| 20 20 20 20 20 2a 63 6c | 74 70 74 72 2c 2a 63 74 | *cl|tptr,*ct|
|00002810| 6d 70 3b 0a 20 20 20 20 | 6d 61 76 65 6e 5f 63 6c |mp;. |maven_cl|
|00002820| 69 65 6e 74 20 20 20 20 | 20 20 20 20 2a 6d 63 6c |ient | *mcl|
|00002830| 74 70 74 72 2c 2a 6d 74 | 6d 70 3b 0a 20 20 20 20 |tptr,*mt|mp;. |
|00002840| 73 74 72 75 63 74 20 73 | 6f 63 6b 61 64 64 72 5f |struct s|ockaddr_|
|00002850| 69 6e 20 20 63 73 6f 63 | 6b 2c 63 6c 6e 74 5f 61 |in csoc|k,clnt_a|
|00002860| 64 64 72 3b 0a 20 20 20 | 20 73 74 72 75 63 74 20 |ddr;. | struct |
|00002870| 69 6e 5f 61 64 64 72 20 | 20 20 20 20 20 69 6e 3b |in_addr | in;|
|00002880| 0a 20 20 20 20 69 6e 74 | 20 20 20 20 20 20 20 20 |. int| |
|00002890| 20 20 20 20 20 20 20 20 | 20 6d 73 67 6c 65 6e 3b | | msglen;|
|000028a0| 0a 20 20 20 20 73 68 6f | 72 74 20 09 09 74 79 70 |. sho|rt ..typ|
|000028b0| 65 3b 20 0a 20 20 20 20 | 73 74 72 75 63 74 20 74 |e; . |struct t|
|000028c0| 69 6d 65 76 61 6c 20 20 | 20 20 20 20 74 70 3b 0a |imeval | tp;.|
|000028d0| 20 20 20 20 73 74 72 75 | 63 74 20 74 69 6d 65 7a | stru|ct timez|
|000028e0| 6f 6e 65 20 20 20 20 20 | 74 7a 70 3b 0a 20 20 20 |one |tzp;. |
|000028f0| 20 63 68 61 72 20 20 20 | 20 20 20 20 20 20 20 20 | char | |
|00002900| 20 20 20 20 20 2a 74 6d | 70 3b 0a 0a 0a 20 20 20 | *tm|p;... |
|00002910| 20 61 72 67 63 2d 2d 3b | 20 61 72 67 76 2b 2b 3b | argc--;| argv++;|
|00002920| 0a 0a 20 20 20 20 74 72 | 61 63 65 66 69 6c 65 20 |.. tr|acefile |
|00002930| 3d 20 4c 4f 47 46 49 4c | 45 3b 0a 20 20 20 20 6d |= LOGFIL|E;. m|
|00002940| 61 78 61 6c 6c 6f 77 65 | 64 20 3d 20 4d 41 58 43 |axallowe|d = MAXC|
|00002950| 4c 49 45 4e 54 3b 0a 0a | 20 20 20 20 69 66 20 28 |LIENT;..| if (|
|00002960| 61 72 67 63 20 3e 20 30 | 29 0a 20 20 20 20 20 20 |argc > 0|). |
|00002970| 20 6c 6f 61 64 5f 63 6f | 6e 66 69 67 28 2a 61 72 | load_co|nfig(*ar|
|00002980| 67 76 29 3b 0a 20 20 20 | 20 65 6c 73 65 0a 20 20 |gv);. | else. |
|00002990| 20 20 20 20 20 6c 6f 61 | 64 5f 63 6f 6e 66 69 67 | loa|d_config|
|000029a0| 28 4e 55 4c 4c 29 3b 0a | 0a 20 20 20 20 69 66 20 |(NULL);.|. if |
|000029b0| 28 6c 6f 67 5f 6c 69 6d | 69 74 20 21 3d 20 30 29 |(log_lim|it != 0)|
|000029c0| 0a 20 20 20 20 7b 0a 0a | 20 20 20 20 20 20 20 69 |. {..| i|
|000029d0| 66 20 28 73 74 72 63 6d | 70 28 74 72 61 63 65 66 |f (strcm|p(tracef|
|000029e0| 69 6c 65 2c 22 73 74 64 | 6f 75 74 22 29 20 3d 3d |ile,"std|out") ==|
|000029f0| 20 30 29 0a 09 20 20 6c | 6f 67 5f 66 69 6c 65 20 | 0).. l|og_file |
|00002a00| 3d 20 73 74 64 6f 75 74 | 3b 0a 20 20 20 20 20 20 |= stdout|;. |
|00002a10| 20 65 6c 73 65 0a 20 20 | 20 20 20 20 20 7b 0a 20 | else. | {. |
|00002a20| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 28 6c 6f | | if ((lo|
|00002a30| 67 5f 66 69 6c 65 20 3d | 20 66 6f 70 65 6e 28 74 |g_file =| fopen(t|
|00002a40| 72 61 63 65 66 69 6c 65 | 2c 22 77 22 29 29 20 21 |racefile|,"w")) !|
|00002a50| 3d 20 4e 55 4c 4c 29 0a | 20 20 20 20 20 20 20 20 |= NULL).| |
|00002a60| 20 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00002a70| 20 73 65 74 6c 69 6e 65 | 62 75 66 28 6c 6f 67 5f | setline|buf(log_|
|00002a80| 66 69 6c 65 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |file);. | |
|00002a90| 20 20 20 20 64 6f 6c 6f | 67 28 22 6f 70 65 6e 5f | dolo|g("open_|
|00002aa0| 6c 6f 67 20 66 69 6c 65 | 3a 20 25 73 5c 6e 22 2c |log file|: %s\n",|
|00002ab0| 74 72 61 63 65 66 69 6c | 65 29 3b 0a 20 20 20 20 |tracefil|e);. |
|00002ac0| 20 20 20 20 20 20 7d 0a | 20 20 20 20 20 20 20 20 | }.| |
|00002ad0| 20 20 65 6c 73 65 0a 20 | 20 20 20 20 20 20 20 20 | else. | |
|00002ae0| 20 20 20 20 6c 6f 67 5f | 6c 69 6d 69 74 20 3d 20 | log_|limit = |
|00002af0| 30 3b 0a 20 20 20 20 20 | 20 20 7d 0a 20 20 20 20 |0;. | }. |
|00002b00| 7d 0a 0a 20 20 20 20 69 | 66 20 28 73 74 72 6c 65 |}.. i|f (strle|
|00002b10| 6e 28 63 69 5f 62 75 66 | 29 20 3d 3d 20 30 29 0a |n(ci_buf|) == 0).|
|00002b20| 20 20 20 20 20 20 20 73 | 74 72 63 70 79 28 22 53 | s|trcpy("S|
|00002b30| 6f 72 72 79 2c 20 74 68 | 65 20 43 6f 6e 66 65 72 |orry, th|e Confer|
|00002b40| 65 6e 63 65 20 49 44 20 | 68 61 73 20 63 68 61 6e |ence ID |has chan|
|00002b50| 67 65 64 2e 20 20 50 6c | 65 61 73 65 20 72 65 63 |ged. Pl|ease rec|
|00002b60| 6f 6e 6e 65 63 74 20 77 | 69 74 68 20 74 68 65 20 |onnect w|ith the |
|00002b70| 63 6f 72 72 65 63 74 20 | 6f 6e 65 2e 22 2c 63 69 |correct |one.",ci|
|00002b80| 5f 62 75 66 29 3b 0a 0a | 20 20 20 20 69 66 20 28 |_buf);..| if (|
|00002b90| 73 74 72 6c 65 6e 28 6d | 70 5f 62 75 66 29 20 3d |strlen(m|p_buf) =|
|00002ba0| 3d 20 30 29 0a 20 20 20 | 20 20 20 20 73 74 72 63 |= 0). | strc|
|00002bb0| 70 79 28 22 53 6f 72 72 | 79 2c 20 6d 61 78 69 6d |py("Sorr|y, maxim|
|00002bc0| 75 6d 20 6e 75 6d 62 65 | 72 20 6f 66 20 75 73 65 |um numbe|r of use|
|00002bd0| 72 73 20 65 78 63 65 65 | 64 65 64 2e 22 2c 6d 70 |rs excee|ded.",mp|
|00002be0| 5f 62 75 66 29 3b 0a 0a | 20 20 20 20 73 69 67 6e |_buf);..| sign|
|00002bf0| 61 6c 28 53 49 47 54 45 | 52 4d 2c 20 70 72 6f 63 |al(SIGTE|RM, proc|
|00002c00| 5f 73 69 67 29 3b 20 20 | 0a 20 20 20 20 73 69 67 |_sig); |. sig|
|00002c10| 6e 61 6c 28 53 49 47 49 | 4e 54 2c 20 70 72 6f 63 |nal(SIGI|NT, proc|
|00002c20| 5f 73 69 67 29 3b 20 20 | 20 20 0a 0a 20 20 20 20 |_sig); | .. |
|00002c30| 67 65 74 5f 6d 79 5f 61 | 64 64 72 28 26 6d 79 61 |get_my_a|ddr(&mya|
|00002c40| 64 64 72 29 3b 0a 20 20 | 20 20 69 66 20 28 6d 79 |ddr);. | if (my|
|00002c50| 61 64 64 72 2e 73 69 6e | 5f 61 64 64 72 2e 73 5f |addr.sin|_addr.s_|
|00002c60| 61 64 64 72 20 3d 3d 20 | 30 29 0a 20 20 20 20 7b |addr == |0). {|
|00002c70| 0a 20 20 20 20 20 20 20 | 64 6f 6c 6f 67 28 22 55 |. |dolog("U|
|00002c80| 6e 61 62 6c 65 20 74 6f | 20 67 65 74 20 61 20 69 |nable to| get a i|
|00002c90| 6e 74 65 72 6e 65 74 20 | 61 64 64 72 65 73 73 5c |nternet |address\|
|00002ca0| 6e 22 29 3b 0a 20 20 20 | 20 20 20 20 65 78 69 74 |n");. | exit|
|00002cb0| 28 31 29 3b 0a 20 20 20 | 20 7d 0a 0a 20 20 20 20 |(1);. | }.. |
|00002cc0| 69 6e 69 74 5f 6d 65 6d | 28 29 3b 0a 20 20 20 20 |init_mem|();. |
|00002cd0| 69 6e 69 74 5f 73 6f 63 | 6b 65 74 28 29 3b 0a 20 |init_soc|ket();. |
|00002ce0| 20 20 20 69 6e 69 74 5f | 74 69 6d 65 72 28 29 3b | init_|timer();|
|00002cf0| 0a 20 20 20 20 6f 70 65 | 6e 5f 62 63 63 5f 73 65 |. ope|n_bcc_se|
|00002d00| 72 76 65 72 73 28 29 3b | 0a 0a 20 20 20 20 67 65 |rvers();|.. ge|
|00002d10| 74 74 69 6d 65 6f 66 64 | 61 79 28 26 74 70 2c 20 |ttimeofd|ay(&tp, |
|00002d20| 26 74 7a 70 29 3b 0a 20 | 20 20 20 74 6d 70 20 3d |&tzp);. | tmp =|
|00002d30| 20 63 74 69 6d 65 28 26 | 74 70 2e 74 76 5f 73 65 | ctime(&|tp.tv_se|
|00002d40| 63 29 3b 0a 20 20 20 20 | 74 6d 70 5b 32 34 5d 20 |c);. |tmp[24] |
|00002d50| 3d 20 27 20 27 3b 0a 20 | 20 20 20 62 63 6f 70 79 |= ' ';. | bcopy|
|00002d60| 28 74 6d 70 2c 73 74 61 | 72 74 5f 74 69 6d 65 2c |(tmp,sta|rt_time,|
|00002d70| 73 74 72 6c 65 6e 28 74 | 6d 70 29 29 3b 0a 0a 20 |strlen(t|mp));.. |
|00002d80| 20 20 20 6d 73 67 20 3d | 20 26 62 75 66 66 65 72 | msg =| &buffer|
|00002d90| 5b 34 30 5d 3b 0a 20 20 | 20 20 76 69 64 70 74 72 |[40];. | vidptr|
|00002da0| 20 3d 20 28 56 69 64 65 | 6f 50 61 63 6b 65 74 48 | = (Vide|oPacketH|
|00002db0| 65 61 64 65 72 20 2a 29 | 20 6d 73 67 3b 0a 20 20 |eader *)| msg;. |
|00002dc0| 20 20 77 68 69 6c 65 20 | 28 31 29 0a 20 20 20 20 | while |(1). |
|00002dd0| 7b 0a 20 20 20 20 20 20 | 20 74 79 70 65 20 3d 20 |{. | type = |
|00002de0| 72 65 63 65 69 76 65 28 | 6d 73 67 2c 26 6d 73 67 |receive(|msg,&msg|
|00002df0| 6c 65 6e 2c 26 63 73 6f | 63 6b 29 3b 0a 0a 20 20 |len,&cso|ck);.. |
|00002e00| 20 20 20 20 20 69 66 20 | 28 64 65 6e 79 28 63 73 | if |(deny(cs|
|00002e10| 6f 63 6b 29 29 0a 20 20 | 20 20 20 20 20 7b 0a 20 |ock)). | {. |
|00002e20| 20 20 20 20 20 20 20 20 | 20 63 6c 6e 74 5f 61 64 | | clnt_ad|
|00002e30| 64 72 2e 73 69 6e 5f 66 | 61 6d 69 6c 79 20 3d 20 |dr.sin_f|amily = |
|00002e40| 41 46 5f 49 4e 45 54 3b | 0a 09 20 20 63 6c 6e 74 |AF_INET;|.. clnt|
|00002e50| 5f 61 64 64 72 2e 73 69 | 6e 5f 70 6f 72 74 20 3d |_addr.si|n_port =|
|00002e60| 20 68 74 6f 6e 73 28 56 | 49 44 5f 50 4f 52 54 29 | htons(V|ID_PORT)|
|00002e70| 3b 0a 09 20 20 62 63 6f | 70 79 28 26 76 69 64 70 |;.. bco|py(&vidp|
|00002e80| 74 72 2d 3e 72 6f 75 74 | 69 6e 67 2e 73 72 63 2e |tr->rout|ing.src.|
|00002e90| 61 64 64 72 2c 26 63 6c | 6e 74 5f 61 64 64 72 2e |addr,&cl|nt_addr.|
|00002ea0| 73 69 6e 5f 61 64 64 72 | 2c 34 29 3b 0a 20 20 20 |sin_addr|,4);. |
|00002eb0| 20 20 20 20 20 20 20 77 | 72 69 74 65 5f 6d 73 67 | w|rite_msg|
|00002ec0| 28 26 63 6c 6e 74 5f 61 | 64 64 72 2c 6b 4d 65 73 |(&clnt_a|ddr,kMes|
|00002ed0| 73 61 67 65 54 79 70 65 | 31 2c 64 79 5f 62 75 66 |sageType|1,dy_buf|
|00002ee0| 29 3b 20 0a 09 20 20 63 | 6f 6e 74 69 6e 75 65 3b |); .. c|ontinue;|
|00002ef0| 0a 20 20 20 20 20 20 20 | 7d 0a 0a 20 20 20 20 20 |. |}.. |
|00002f00| 20 20 73 77 69 74 63 68 | 20 28 74 79 70 65 29 0a | switch| (type).|
|00002f10| 20 20 20 20 20 20 20 7b | 0a 0a 09 20 20 63 61 73 | {|... cas|
|00002f20| 65 20 4d 41 56 45 4e 5f | 43 4e 54 4c 3a 0a 09 20 |e MAVEN_|CNTL:.. |
|00002f30| 20 20 20 20 20 69 66 20 | 28 28 6d 63 6c 74 70 74 | if |((mcltpt|
|00002f40| 72 20 3d 20 66 69 6e 64 | 5f 6d 61 76 65 6e 5f 63 |r = find|_maven_c|
|00002f50| 6c 69 65 6e 74 28 63 73 | 6f 63 6b 2e 73 69 6e 5f |lient(cs|ock.sin_|
|00002f60| 61 64 64 72 2e 73 5f 61 | 64 64 72 29 29 20 3d 3d |addr.s_a|ddr)) ==|
|00002f70| 20 4e 55 4c 4c 29 0a 09 | 20 20 20 20 20 20 7b 0a | NULL)..| {.|
|00002f80| 09 20 20 20 20 20 20 20 | 20 20 69 66 20 28 28 6d |. | if ((m|
|00002f90| 63 6c 74 70 74 72 20 3d | 20 6e 65 77 5f 6d 61 76 |cltptr =| new_mav|
|00002fa0| 65 6e 5f 63 6c 69 65 6e | 74 28 63 73 6f 63 6b 2e |en_clien|t(csock.|
|00002fb0| 73 69 6e 5f 61 64 64 72 | 2e 73 5f 61 64 64 72 29 |sin_addr|.s_addr)|
|00002fc0| 29 20 3d 3d 20 4e 55 4c | 4c 29 0a 09 09 20 20 20 |) == NUL|L)... |
|00002fd0| 20 62 72 65 61 6b 3b 0a | 20 20 20 20 20 20 20 20 | break;.| |
|00002fe0| 20 20 20 20 20 20 20 20 | 20 64 6f 6c 6f 67 28 22 | | dolog("|
|00002ff0| 4e 65 77 20 4d 61 76 65 | 6e 20 63 6c 69 65 6e 74 |New Mave|n client|
|00003000| 20 61 74 20 25 73 5c 6e | 22 2c 20 69 6e 65 74 5f | at %s\n|", inet_|
|00003010| 6e 74 6f 61 28 63 73 6f | 63 6b 2e 73 69 6e 5f 61 |ntoa(cso|ck.sin_a|
|00003020| 64 64 72 29 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |ddr));. | |
|00003030| 20 20 20 20 20 7d 0a 0a | 20 20 20 20 20 20 20 20 | }..| |
|00003040| 20 20 20 20 20 20 6d 63 | 6c 74 70 74 72 2d 3e 6d | mc|ltptr->m|
|00003050| 76 6e 5f 72 74 69 6d 65 | 72 20 3d 20 30 3b 0a 0a |vn_rtime|r = 0;..|
|00003060| 09 20 20 20 20 20 20 76 | 61 74 5f 69 64 28 6d 63 |. v|at_id(mc|
|00003070| 6c 74 70 74 72 29 3b 0a | 0a 09 20 20 20 20 20 20 |ltptr);.|.. |
|00003080| 62 72 65 61 6b 3b 0a 0a | 09 20 20 63 61 73 65 20 |break;..|. case |
|00003090| 4d 41 56 45 4e 3a 0a 09 | 20 20 20 20 20 20 69 66 |MAVEN:..| if|
|000030a0| 20 28 28 6d 63 6c 74 70 | 74 72 20 3d 20 66 69 6e | ((mcltp|tr = fin|
|000030b0| 64 5f 6d 61 76 65 6e 5f | 63 6c 69 65 6e 74 28 63 |d_maven_|client(c|
|000030c0| 73 6f 63 6b 2e 73 69 6e | 5f 61 64 64 72 2e 73 5f |sock.sin|_addr.s_|
|000030d0| 61 64 64 72 29 29 20 3d | 3d 20 4e 55 4c 4c 29 0a |addr)) =|= NULL).|
|000030e0| 09 09 20 62 72 65 61 6b | 3b 0a 0a 20 20 20 20 20 |.. break|;.. |
|000030f0| 20 20 20 20 20 20 20 20 | 20 6d 63 6c 74 70 74 72 | | mcltptr|
|00003100| 2d 3e 6d 76 6e 5f 72 74 | 69 6d 65 72 20 3d 20 30 |->mvn_rt|imer = 0|
|00003110| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;. | |
|00003120| 6d 63 6c 74 70 74 72 2d | 3e 6d 76 6e 5f 73 65 71 |mcltptr-|>mvn_seq|
|00003130| 2b 2b 3b 0a 0a 09 20 20 | 20 20 20 20 69 66 20 28 |++;... | if (|
|00003140| 6d 63 6c 74 70 74 72 2d | 3e 6d 76 6e 5f 74 61 6c |mcltptr-|>mvn_tal|
|00003150| 6b 65 72 20 3d 3d 20 30 | 29 0a 09 20 20 20 20 20 |ker == 0|).. |
|00003160| 20 20 20 20 64 6f 6c 6f | 67 28 22 6d 61 76 65 6e | dolo|g("maven|
|00003170| 20 61 74 20 25 73 20 69 | 73 20 73 70 65 61 6b 69 | at %s i|s speaki|
|00003180| 6e 67 5c 6e 22 2c 69 6e | 65 74 5f 6e 74 6f 61 28 |ng\n",in|et_ntoa(|
|00003190| 63 73 6f 63 6b 2e 73 69 | 6e 5f 61 64 64 72 29 29 |csock.si|n_addr))|
|000031a0| 3b 0a 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;.. | |
|000031b0| 20 69 66 20 28 6d 63 6c | 74 70 74 72 2d 3e 6d 76 | if (mcl|tptr->mv|
|000031c0| 6e 5f 74 61 6c 6b 65 72 | 2b 2b 20 3e 20 35 30 29 |n_talker|++ > 50)|
|000031d0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000031e0| 20 20 6d 63 6c 74 70 74 | 72 2d 3e 6d 76 6e 5f 74 | mcltpt|r->mvn_t|
|000031f0| 61 6c 6b 65 72 20 3d 20 | 30 3b 0a 0a 20 20 20 20 |alker = |0;.. |
|00003200| 20 20 20 20 20 20 20 20 | 20 20 6d 74 6d 70 20 3d | | mtmp =|
|00003210| 20 6d 68 65 61 64 3b 0a | 20 20 20 20 20 20 20 20 | mhead;.| |
|00003220| 20 20 20 20 20 20 77 68 | 69 6c 65 20 28 6d 74 6d | wh|ile (mtm|
|00003230| 70 20 21 3d 20 4e 55 4c | 4c 29 0a 20 20 20 20 20 |p != NUL|L). |
|00003240| 20 20 20 20 20 20 20 20 | 20 7b 0a 20 20 20 20 20 | | {. |
|00003250| 20 20 20 20 20 20 20 20 | 20 20 20 20 69 66 20 28 | | if (|
|00003260| 28 73 65 6c 66 5f 72 65 | 66 6c 65 63 74 20 3d 3d |(self_re|flect ==|
|00003270| 20 31 29 20 7c 7c 20 28 | 6d 63 6c 74 70 74 72 20 | 1) || (|mcltptr |
|00003280| 21 3d 20 6d 74 6d 70 29 | 29 0a 20 20 20 20 20 20 |!= mtmp)|). |
|00003290| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 69 66 | | if|
|000032a0| 20 28 73 65 6e 64 74 6f | 28 6d 61 76 65 6e 5f 73 | (sendto|(maven_s|
|000032b0| 6f 63 6b 2c 6d 73 67 2c | 6d 73 67 6c 65 6e 2c 30 |ock,msg,|msglen,0|
|000032c0| 2c 26 6d 74 6d 70 2d 3e | 6d 76 6e 5f 61 64 64 72 |,&mtmp->|mvn_addr|
|000032d0| 2c 73 69 7a 65 6f 66 28 | 73 74 72 75 63 74 20 73 |,sizeof(|struct s|
|000032e0| 6f 63 6b 61 64 64 72 5f | 69 6e 29 29 20 21 3d 20 |ockaddr_|in)) != |
|000032f0| 6d 73 67 6c 65 6e 29 0a | 09 09 20 20 20 20 20 20 |msglen).|.. |
|00003300| 20 64 6f 6c 6f 67 28 22 | 4d 61 76 65 6e 20 73 65 | dolog("|Maven se|
|00003310| 6e 64 74 6f 20 65 72 72 | 6f 72 5c 6e 22 29 3b 0a |ndto err|or\n");.|
|00003320| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003330| 20 6d 74 6d 70 20 3d 20 | 6d 74 6d 70 2d 3e 6d 76 | mtmp = |mtmp->mv|
|00003340| 6e 5f 6e 70 74 72 3b 0a | 20 20 20 20 20 20 20 20 |n_nptr;.| |
|00003350| 20 20 20 20 20 20 7d 0a | 0a 09 20 20 20 20 20 20 | }.|.. |
|00003360| 2f 2a 20 0a 09 09 20 64 | 6f 20 6e 6f 74 20 73 65 |/* ... d|o not se|
|00003370| 6e 64 20 4d 61 76 65 6e | 20 70 61 63 6b 65 74 73 |nd Maven| packets|
|00003380| 20 74 6f 20 43 55 2d 53 | 65 65 4d 65 20 63 6c 69 | to CU-S|eeMe cli|
|00003390| 65 6e 74 73 2c 20 75 6e | 6c 65 73 73 20 74 68 61 |ents, un|less tha|
|000033a0| 74 20 4d 61 76 65 6e 20 | 63 6c 69 65 6e 74 20 69 |t Maven |client i|
|000033b0| 73 20 61 6c 73 6f 20 0a | 09 09 20 61 20 43 55 2d |s also .|.. a CU-|
|000033c0| 53 65 65 4d 65 20 63 6c | 69 65 6e 74 2e 0a 20 20 |SeeMe cl|ient.. |
|000033d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 2a 2f 0a 0a | | */..|
|000033e0| 09 20 20 20 20 20 20 69 | 66 20 28 28 63 6c 74 70 |. i|f ((cltp|
|000033f0| 74 72 20 3d 20 66 69 6e | 64 5f 63 6c 69 65 6e 74 |tr = fin|d_client|
|00003400| 28 63 73 6f 63 6b 2e 73 | 69 6e 5f 61 64 64 72 2e |(csock.s|in_addr.|
|00003410| 73 5f 61 64 64 72 29 29 | 20 3d 3d 20 4e 55 4c 4c |s_addr))| == NULL|
|00003420| 29 0a 09 09 20 62 72 65 | 61 6b 3b 0a 0a 20 20 20 |)... bre|ak;.. |
|00003430| 20 20 20 20 20 20 20 20 | 20 20 20 76 74 6d 70 20 | | vtmp |
|00003440| 3d 20 28 56 69 64 65 6f | 50 61 63 6b 65 74 48 65 |= (Video|PacketHe|
|00003450| 61 64 65 72 20 2a 29 20 | 28 28 28 75 6e 73 69 67 |ader *) |(((unsig|
|00003460| 6e 65 64 20 63 68 61 72 | 20 2a 29 20 6d 73 67 29 |ned char| *) msg)|
|00003470| 20 2d 20 48 45 41 44 45 | 52 4c 45 4e 29 3b 0a 0a | - HEADE|RLEN);..|
|00003480| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 76 74 | | vt|
|00003490| 6d 70 2d 3e 72 6f 75 74 | 69 6e 67 2e 64 65 73 74 |mp->rout|ing.dest|
|000034a0| 2e 66 61 6d 69 6c 79 20 | 3d 20 68 74 6f 6e 73 28 |.family |= htons(|
|000034b0| 6b 47 72 6f 75 70 29 3b | 20 20 20 20 20 20 20 20 |kGroup);| |
|000034c0| 20 20 20 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | . | |
|000034d0| 20 20 76 74 6d 70 2d 3e | 72 6f 75 74 69 6e 67 2e | vtmp->|routing.|
|000034e0| 64 65 73 74 2e 70 6f 72 | 74 20 3d 20 68 74 6f 6e |dest.por|t = hton|
|000034f0| 73 28 56 49 44 5f 50 4f | 52 54 29 3b 20 20 20 20 |s(VID_PO|RT); |
|00003500| 20 20 20 20 20 20 20 0a | 20 20 20 20 20 20 20 20 | .| |
|00003510| 20 20 20 20 20 20 76 74 | 6d 70 2d 3e 72 6f 75 74 | vt|mp->rout|
|00003520| 69 6e 67 2e 73 72 63 2e | 66 61 6d 69 6c 79 20 3d |ing.src.|family =|
|00003530| 20 68 74 6f 6e 73 28 6b | 47 72 6f 75 70 29 3b 20 | htons(k|Group); |
|00003540| 20 20 20 20 20 20 20 20 | 20 0a 20 20 20 20 20 20 | | . |
|00003550| 20 20 20 20 20 20 20 20 | 76 74 6d 70 2d 3e 72 6f | |vtmp->ro|
|00003560| 75 74 69 6e 67 2e 73 72 | 63 2e 70 6f 72 74 20 20 |uting.sr|c.port |
|00003570| 3d 20 68 74 6f 6e 73 28 | 56 49 44 5f 50 4f 52 54 |= htons(|VID_PORT|
|00003580| 29 3b 20 20 20 20 20 20 | 20 20 20 20 0a 0a 09 20 |); | ... |
|00003590| 20 20 20 20 20 63 70 74 | 72 20 3d 20 28 75 6e 73 | cpt|r = (uns|
|000035a0| 69 67 6e 65 64 20 63 68 | 61 72 20 2a 29 20 26 76 |igned ch|ar *) &v|
|000035b0| 74 6d 70 2d 3e 72 6f 75 | 74 69 6e 67 2e 73 72 63 |tmp->rou|ting.src|
|000035c0| 2e 61 64 64 72 3b 0a 09 | 20 20 20 20 20 20 63 70 |.addr;..| cp|
|000035d0| 74 72 31 20 3d 20 28 75 | 6e 73 69 67 6e 65 64 20 |tr1 = (u|nsigned |
|000035e0| 63 68 61 72 20 2a 29 20 | 26 63 73 6f 63 6b 2e 73 |char *) |&csock.s|
|000035f0| 69 6e 5f 61 64 64 72 3b | 0a 09 20 20 20 20 20 20 |in_addr;|.. |
|00003600| 2a 63 70 74 72 2b 2b 20 | 3d 20 2a 63 70 74 72 31 |*cptr++ |= *cptr1|
|00003610| 2b 2b 3b 0a 09 20 20 20 | 20 20 20 2a 63 70 74 72 |++;.. | *cptr|
|00003620| 2b 2b 20 3d 20 2a 63 70 | 74 72 31 2b 2b 3b 0a 09 |++ = *cp|tr1++;..|
|00003630| 20 20 20 20 20 20 2a 63 | 70 74 72 2b 2b 20 3d 20 | *c|ptr++ = |
|00003640| 2a 63 70 74 72 31 2b 2b | 3b 0a 09 20 20 20 20 20 |*cptr1++|;.. |
|00003650| 20 2a 63 70 74 72 2b 2b | 20 3d 20 2a 63 70 74 72 | *cptr++| = *cptr|
|00003660| 31 2b 2b 3b 0a 0a 09 20 | 20 20 20 20 20 63 70 74 |1++;... | cpt|
|00003670| 72 20 3d 20 28 75 6e 73 | 69 67 6e 65 64 20 63 68 |r = (uns|igned ch|
|00003680| 61 72 20 2a 29 20 26 76 | 74 6d 70 2d 3e 73 65 71 |ar *) &v|tmp->seq|
|00003690| 4e 75 6d 3b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |Num;. | |
|000036a0| 20 20 20 63 70 74 72 31 | 20 3d 20 28 75 6e 73 69 | cptr1| = (unsi|
|000036b0| 67 6e 65 64 20 63 68 61 | 72 20 2a 29 20 26 6d 63 |gned cha|r *) &mc|
|000036c0| 6c 74 70 74 72 2d 3e 6d | 76 6e 5f 73 65 71 3b 0a |ltptr->m|vn_seq;.|
|000036d0| 09 20 20 20 20 20 20 2a | 63 70 74 72 2b 2b 20 3d |. *|cptr++ =|
|000036e0| 20 2a 63 70 74 72 31 2b | 2b 3b 0a 09 20 20 20 20 | *cptr1+|+;.. |
|000036f0| 20 20 2a 63 70 74 72 2b | 2b 20 3d 20 2a 63 70 74 | *cptr+|+ = *cpt|
|00003700| 72 31 2b 2b 3b 0a 09 20 | 20 20 20 20 20 2a 63 70 |r1++;.. | *cp|
|00003710| 74 72 2b 2b 20 3d 20 2a | 63 70 74 72 31 2b 2b 3b |tr++ = *|cptr1++;|
|00003720| 0a 09 20 20 20 20 20 20 | 2a 63 70 74 72 2b 2b 20 |.. |*cptr++ |
|00003730| 3d 20 2a 63 70 74 72 31 | 2b 2b 3b 0a 0a 09 20 20 |= *cptr1|++;... |
|00003740| 20 20 20 20 76 74 6d 70 | 2d 3e 6d 65 73 73 61 67 | vtmp|->messag|
|00003750| 65 20 3d 20 68 74 6f 6e | 73 28 6b 41 75 64 69 6f |e = hton|s(kAudio|
|00003760| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |);. | |
|00003770| 20 76 74 6d 70 2d 3e 64 | 61 74 61 54 79 70 65 20 | vtmp->d|ataType |
|00003780| 3d 20 68 74 6f 6e 73 28 | 6b 41 75 64 69 6f 29 3b |= htons(|kAudio);|
|00003790| 0a 09 20 20 20 20 20 20 | 76 74 6d 70 2d 3e 6c 65 |.. |vtmp->le|
|000037a0| 6e 20 3d 20 68 74 6f 6e | 73 28 6d 73 67 6c 65 6e |n = hton|s(msglen|
|000037b0| 20 2b 20 48 45 41 44 45 | 52 4c 45 4e 29 3b 0a 0a | + HEADE|RLEN);..|
|000037c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 63 74 | | ct|
|000037d0| 6d 70 20 3d 20 63 68 65 | 61 64 3b 0a 20 20 20 20 |mp = che|ad;. |
|000037e0| 20 20 20 20 20 20 20 20 | 20 20 77 68 69 6c 65 20 | | while |
|000037f0| 28 63 74 6d 70 20 21 3d | 20 4e 55 4c 4c 29 0a 20 |(ctmp !=| NULL). |
|00003800| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 7b 0a 09 | | {..|
|00003810| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 28 63 74 | | if ((ct|
|00003820| 6d 70 2d 3e 63 6c 6e 74 | 5f 63 6f 6e 66 69 67 2e |mp->clnt|_config.|
|00003830| 66 6c 61 67 73 20 26 20 | 52 45 43 5f 41 55 44 49 |flags & |REC_AUDI|
|00003840| 4f 29 20 26 26 20 28 63 | 74 6d 70 2d 3e 63 6c 6e |O) && (c|tmp->cln|
|00003850| 74 5f 63 6f 6e 66 69 67 | 2e 66 6c 61 67 73 20 26 |t_config|.flags &|
|00003860| 20 57 41 4e 54 5f 4c 55 | 52 43 4b 45 52 53 29 29 | WANT_LU|RCKERS))|
|00003870| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00003880| 20 20 20 20 20 69 66 20 | 28 73 65 6e 64 74 6f 28 | if |(sendto(|
|00003890| 76 69 64 5f 73 6f 63 6b | 2c 28 63 68 61 72 20 2a |vid_sock|,(char *|
|000038a0| 29 76 74 6d 70 2c 6d 73 | 67 6c 65 6e 2b 48 45 41 |)vtmp,ms|glen+HEA|
|000038b0| 44 45 52 4c 45 4e 2c 30 | 2c 26 63 74 6d 70 2d 3e |DERLEN,0|,&ctmp->|
|000038c0| 63 6c 6e 74 5f 61 64 64 | 72 2c 73 69 7a 65 6f 66 |clnt_add|r,sizeof|
|000038d0| 28 73 74 72 75 63 74 20 | 73 6f 63 6b 61 64 64 72 |(struct |sockaddr|
|000038e0| 5f 69 6e 29 29 20 0a 09 | 09 09 21 3d 20 6d 73 67 |_in)) ..|..!= msg|
|000038f0| 6c 65 6e 2b 48 45 41 44 | 45 52 4c 45 4e 29 0a 09 |len+HEAD|ERLEN)..|
|00003900| 09 20 20 20 20 20 20 20 | 64 6f 6c 6f 67 28 22 4d |. |dolog("M|
|00003910| 61 76 65 6e 20 73 65 6e | 64 20 74 6f 20 65 72 72 |aven sen|d to err|
|00003920| 6f 72 20 69 6e 20 72 65 | 66 6c 65 63 74 5c 6e 22 |or in re|flect\n"|
|00003930| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |);. | |
|00003940| 20 20 20 20 63 74 6d 70 | 20 3d 20 63 74 6d 70 2d | ctmp| = ctmp-|
|00003950| 3e 63 6c 6e 74 5f 6e 70 | 74 72 3b 0a 20 20 20 20 |>clnt_np|tr;. |
|00003960| 20 20 20 20 20 20 20 20 | 20 20 7d 0a 0a 20 20 20 | | }.. |
|00003970| 20 20 20 20 20 20 20 20 | 20 20 62 72 65 61 6b 3b | | break;|
|00003980| 0a 0a 09 20 20 63 61 73 | 65 20 52 45 46 31 56 49 |... cas|e REF1VI|
|00003990| 44 45 4f 3a 0a 09 20 20 | 63 61 73 65 20 52 45 46 |DEO:.. |case REF|
|000039a0| 32 56 49 44 45 4f 3a 0a | 20 20 20 20 20 20 20 20 |2VIDEO:.| |
|000039b0| 20 20 63 61 73 65 20 56 | 49 44 45 4f 3a 0a 0a 23 | case V|IDEO:..#|
|000039c0| 69 66 64 65 66 20 44 45 | 42 55 47 0a 20 20 20 20 |ifdef DE|BUG. |
|000039d0| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 64 65 62 | | if (deb|
|000039e0| 75 67 29 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |ug). | |
|000039f0| 20 7b 0a 09 20 20 20 20 | 20 20 20 20 69 66 20 28 | {.. | if (|
|00003a00| 6e 74 6f 68 73 28 76 69 | 64 70 74 72 2d 3e 6d 65 |ntohs(vi|dptr->me|
|00003a10| 73 73 61 67 65 29 20 3d | 3d 20 6b 41 75 64 69 6f |ssage) =|= kAudio|
|00003a20| 29 0a 09 20 20 09 20 20 | 20 70 72 69 6e 74 66 28 |).. . | printf(|
|00003a30| 22 41 55 44 49 4f 5c 6e | 22 29 3b 0a 20 20 20 20 |"AUDIO\n|");. |
|00003a40| 20 20 20 20 20 20 20 20 | 20 20 20 20 70 72 69 6e | | prin|
|00003a50| 74 66 28 22 76 69 64 65 | 6f 20 70 61 63 6b 65 74 |tf("vide|o packet|
|00003a60| 20 6c 65 6e 20 25 64 20 | 6e 65 74 77 6f 72 6b 20 | len %d |network |
|00003a70| 73 72 63 20 25 73 20 22 | 2c 20 6d 73 67 6c 65 6e |src %s "|, msglen|
|00003a80| 2c 20 69 6e 65 74 5f 6e | 74 6f 61 28 63 73 6f 63 |, inet_n|toa(csoc|
|00003a90| 6b 2e 73 69 6e 5f 61 64 | 64 72 29 29 3b 0a 09 09 |k.sin_ad|dr));...|
|00003aa0| 69 6e 2e 73 5f 61 64 64 | 72 20 3d 20 76 69 64 70 |in.s_add|r = vidp|
|00003ab0| 74 72 2d 3e 72 6f 75 74 | 69 6e 67 2e 73 72 63 2e |tr->rout|ing.src.|
|00003ac0| 61 64 64 72 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |addr;. | |
|00003ad0| 20 20 20 20 20 20 70 72 | 69 6e 74 66 28 22 63 6f | pr|intf("co|
|00003ae0| 6e 74 65 6e 74 20 73 72 | 63 20 25 73 20 22 2c 69 |ntent sr|c %s ",i|
|00003af0| 6e 65 74 5f 6e 74 6f 61 | 28 69 6e 29 29 3b 0a 20 |net_ntoa|(in));. |
|00003b00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 70 | | p|
|00003b10| 72 69 6e 74 66 28 22 66 | 61 6d 69 6c 79 20 25 64 |rintf("f|amily %d|
|00003b20| 20 20 73 65 71 20 25 6c | 64 20 6d 73 67 20 25 64 | seq %l|d msg %d|
|00003b30| 20 64 74 79 70 65 20 25 | 64 5c 6e 22 2c 20 6e 74 | dtype %|d\n", nt|
|00003b40| 6f 68 73 28 76 69 64 70 | 74 72 2d 3e 72 6f 75 74 |ohs(vidp|tr->rout|
|00003b50| 69 6e 67 2e 64 65 73 74 | 2e 66 61 6d 69 6c 79 29 |ing.dest|.family)|
|00003b60| 2c 0a 09 09 09 6e 74 6f | 68 6c 28 76 69 64 70 74 |,....nto|hl(vidpt|
|00003b70| 72 2d 3e 73 65 71 4e 75 | 6d 29 2c 20 6e 74 6f 68 |r->seqNu|m), ntoh|
|00003b80| 73 28 76 69 64 70 74 72 | 2d 3e 6d 65 73 73 61 67 |s(vidptr|->messag|
|00003b90| 65 29 2c 6e 74 6f 68 73 | 28 76 69 64 70 74 72 2d |e),ntohs|(vidptr-|
|00003ba0| 3e 64 61 74 61 54 79 70 | 65 29 29 3b 0a 20 20 20 |>dataTyp|e));. |
|00003bb0| 20 20 20 20 20 20 20 20 | 20 20 7d 0a 23 65 6e 64 | | }.#end|
|00003bc0| 69 66 0a 09 20 20 20 20 | 20 2f 2a 20 4a 41 4c 20 |if.. | /* JAL |
|00003bd0| 35 2f 31 31 20 6d 6f 76 | 65 20 74 68 69 73 20 63 |5/11 mov|e this c|
|00003be0| 68 65 63 6b 20 74 6f 20 | 74 68 65 20 76 65 72 79 |heck to |the very|
|00003bf0| 20 62 65 67 69 6e 6e 69 | 6e 67 20 2a 2f 0a 0a 20 | beginni|ng */.. |
|00003c00| 20 20 20 20 20 20 20 20 | 20 20 20 20 69 66 20 28 | | if (|
|00003c10| 76 69 64 70 74 72 2d 3e | 72 6f 75 74 69 6e 67 2e |vidptr->|routing.|
|00003c20| 73 72 63 2e 61 64 64 72 | 20 3d 3d 20 30 29 0a 09 |src.addr| == 0)..|
|00003c30| 20 20 20 20 20 7b 0a 09 | 09 64 6f 6c 6f 67 28 22 | {..|.dolog("|
|00003c40| 72 65 63 65 69 76 65 64 | 20 61 20 70 61 63 6b 65 |received| a packe|
|00003c50| 74 20 77 69 74 68 20 61 | 20 30 20 73 6f 75 72 63 |t with a| 0 sourc|
|00003c60| 65 20 61 64 64 72 65 73 | 73 20 66 72 6f 6d 20 25 |e addres|s from %|
|00003c70| 73 5c 6e 22 2c 69 6e 65 | 74 5f 6e 74 6f 61 28 63 |s\n",ine|t_ntoa(c|
|00003c80| 73 6f 63 6b 2e 73 69 6e | 5f 61 64 64 72 29 29 3b |sock.sin|_addr));|
|00003c90| 0a 09 09 62 72 65 61 6b | 3b 0a 20 20 20 20 20 20 |...break|;. |
|00003ca0| 20 20 20 20 20 20 20 7d | 0a 0a 09 20 20 20 20 20 | }|... |
|00003cb0| 69 66 20 28 28 63 6c 74 | 70 74 72 20 3d 20 66 69 |if ((clt|ptr = fi|
|00003cc0| 6e 64 5f 63 6c 69 65 6e | 74 28 63 73 6f 63 6b 2e |nd_clien|t(csock.|
|00003cd0| 73 69 6e 5f 61 64 64 72 | 2e 73 5f 61 64 64 72 29 |sin_addr|.s_addr)|
|00003ce0| 29 20 3d 3d 20 4e 55 4c | 4c 29 0a 09 20 20 20 20 |) == NUL|L).. |
|00003cf0| 20 7b 09 0a 23 69 66 64 | 65 66 20 44 45 42 55 47 | {..#ifd|ef DEBUG|
|00003d00| 0a 09 20 20 20 20 20 20 | 20 20 69 66 20 28 64 65 |.. | if (de|
|00003d10| 62 75 67 29 0a 09 20 20 | 20 20 20 20 20 20 20 20 |bug).. | |
|00003d20| 20 70 72 69 6e 74 66 28 | 22 63 6c 69 65 6e 74 20 | printf(|"client |
|00003d30| 6e 6f 74 20 66 6f 75 6e | 64 20 5c 6e 22 29 3b 0a |not foun|d \n");.|
|00003d40| 23 65 6e 64 69 66 0a 09 | 09 69 66 20 28 74 79 70 |#endif..|.if (typ|
|00003d50| 65 20 3d 3d 20 56 49 44 | 45 4f 29 0a 09 09 7b 0a |e == VID|EO)...{.|
|00003d60| 09 09 20 20 20 69 66 20 | 28 28 74 79 70 65 20 3d |.. if |((type =|
|00003d70| 20 67 65 74 5f 74 79 70 | 65 28 63 73 6f 63 6b 29 | get_typ|e(csock)|
|00003d80| 29 20 3d 3d 20 2d 31 29 | 0a 09 09 20 20 20 7b 0a |) == -1)|... {.|
|00003d90| 09 09 20 20 20 20 20 20 | 64 6f 6c 6f 67 28 22 63 |.. |dolog("c|
|00003da0| 6c 69 65 6e 74 20 6e 6f | 74 20 66 6f 75 6e 64 20 |lient no|t found |
|00003db0| 61 6e 64 20 70 61 63 6b | 65 74 20 62 65 69 6e 67 |and pack|et being|
|00003dc0| 20 64 72 6f 70 70 65 64 | 20 64 75 65 20 74 6f 20 | dropped| due to |
|00003dd0| 61 64 64 72 65 73 73 20 | 72 65 73 74 72 69 63 74 |address |restrict|
|00003de0| 69 6f 6e 73 5c 6e 22 29 | 3b 0a 09 09 20 20 20 20 |ions\n")|;... |
|00003df0| 20 20 62 72 65 61 6b 3b | 0a 20 20 20 20 20 20 20 | break;|. |
|00003e00| 20 20 20 20 20 20 20 20 | 20 20 20 20 7d 0a 20 20 | | }. |
|00003e10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 7d 0a | | }.|
|00003e20| 09 09 65 6c 73 65 0a 09 | 09 20 20 20 69 66 20 28 |..else..|. if (|
|00003e30| 74 79 70 65 20 3d 3d 20 | 52 45 46 31 56 49 44 45 |type == |REF1VIDE|
|00003e40| 4f 29 0a 09 09 20 20 20 | 20 20 20 74 79 70 65 20 |O)... | type |
|00003e50| 3d 20 52 45 46 31 5f 53 | 45 52 56 45 52 3b 0a 20 |= REF1_S|ERVER;. |
|00003e60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003e70| 20 20 65 6c 73 65 0a 09 | 09 20 20 20 20 20 20 74 | else..|. t|
|00003e80| 79 70 65 20 3d 20 52 45 | 46 32 5f 53 45 52 56 45 |ype = RE|F2_SERVE|
|00003e90| 52 3b 0a 0a 0a 20 20 20 | 20 20 20 20 20 20 20 20 |R;... | |
|00003ea0| 20 20 20 20 20 69 66 20 | 28 6e 74 6f 68 73 28 76 | if |(ntohs(v|
|00003eb0| 69 64 70 74 72 2d 3e 64 | 61 74 61 54 79 70 65 29 |idptr->d|ataType)|
|00003ec0| 20 3d 3d 20 6b 43 6f 6e | 66 69 67 52 65 66 54 79 | == kCon|figRefTy|
|00003ed0| 70 65 29 0a 09 09 7b 0a | 09 09 20 20 20 69 66 20 |pe)...{.|.. if |
|00003ee0| 28 28 74 79 70 65 20 21 | 3d 20 42 43 43 5f 53 45 |((type !|= BCC_SE|
|00003ef0| 52 56 45 52 29 20 26 26 | 20 28 74 79 70 65 20 21 |RVER) &&| (type !|
|00003f00| 3d 20 42 43 43 5f 43 4c | 49 45 4e 54 29 20 26 26 |= BCC_CL|IENT) &&|
|00003f10| 20 28 74 79 70 65 20 21 | 3d 20 52 45 46 33 5f 53 | (type !|= REF3_S|
|00003f20| 45 52 56 45 52 29 29 0a | 09 09 20 20 20 7b 0a 09 |ERVER)).|.. {..|
|00003f30| 09 20 20 20 20 20 20 64 | 6f 6c 6f 67 28 22 52 65 |. d|olog("Re|
|00003f40| 66 6c 65 63 74 6f 72 20 | 63 6f 6e 66 69 67 75 72 |flector |configur|
|00003f50| 61 74 69 6f 6e 20 6d 69 | 73 2d 6d 61 74 63 68 20 |ation mi|s-match |
|00003f60| 66 72 6f 6d 20 25 73 5c | 6e 22 2c 69 6e 65 74 5f |from %s\|n",inet_|
|00003f70| 6e 74 6f 61 28 63 73 6f | 63 6b 2e 73 69 6e 5f 61 |ntoa(cso|ck.sin_a|
|00003f80| 64 64 72 29 29 3b 0a 09 | 09 20 20 20 20 20 20 62 |ddr));..|. b|
|00003f90| 72 65 61 6b 3b 0a 0a 20 | 20 20 20 20 20 20 20 20 |reak;.. | |
|00003fa0| 20 20 20 20 20 20 20 20 | 20 20 7d 0a 09 09 7d 0a | | }...}.|
|00003fb0| 09 09 65 6c 73 65 0a 20 | 20 20 20 20 20 20 20 20 |..else. | |
|00003fc0| 20 20 20 20 20 20 20 20 | 20 20 69 66 20 28 28 6e | | if ((n|
|00003fd0| 74 6f 68 73 28 76 69 64 | 70 74 72 2d 3e 64 61 74 |tohs(vid|ptr->dat|
|00003fe0| 61 54 79 70 65 29 20 21 | 3d 20 6b 43 6f 6e 66 69 |aType) !|= kConfi|
|00003ff0| 67 56 69 64 65 6f 54 79 | 70 65 29 20 7c 7c 20 0a |gVideoTy|pe) || .|
|00004000| 09 09 20 20 20 20 20 20 | 20 28 6e 74 6f 68 73 28 |.. | (ntohs(|
|00004010| 76 69 64 70 74 72 2d 3e | 6d 65 73 73 61 67 65 29 |vidptr->|message)|
|00004020| 20 21 3d 20 6b 4f 70 65 | 6e 43 6f 6e 6e 65 63 74 | != kOpe|nConnect|
|00004030| 69 6f 6e 29 29 0a 20 20 | 20 20 20 20 20 20 20 20 |ion)). | |
|00004040| 20 20 20 20 20 20 20 20 | 20 7b 0a 09 09 20 20 20 | | {... |
|00004050| 20 20 20 64 6f 6c 6f 67 | 28 22 63 6c 69 65 6e 74 | dolog|("client|
|00004060| 20 6e 6f 74 20 66 6f 75 | 6e 64 20 61 6e 64 20 69 | not fou|nd and i|
|00004070| 6e 69 74 69 61 6c 20 6d | 65 73 73 61 67 65 20 69 |nitial m|essage i|
|00004080| 73 20 6e 6f 74 20 4f 70 | 65 6e 5c 6e 22 29 3b 0a |s not Op|en\n");.|
|00004090| 09 09 20 20 20 20 20 20 | 62 72 65 61 6b 3b 0a 09 |.. |break;..|
|000040a0| 09 20 20 20 7d 0a 0a 0a | 20 20 20 20 20 20 20 20 |. }...| |
|000040b0| 20 20 20 20 20 20 20 20 | 2f 2a 20 20 20 61 64 64 | |/* add|
|000040c0| 65 64 20 62 79 20 4d 41 | 47 20 36 2f 32 37 2f 39 |ed by MA|G 6/27/9|
|000040d0| 34 20 20 20 2a 2f 0a 20 | 20 20 20 20 20 20 20 20 |4 */. | |
|000040e0| 20 20 20 20 20 20 20 69 | 66 20 28 28 63 73 6f 63 | i|f ((csoc|
|000040f0| 6b 2e 73 69 6e 5f 61 64 | 64 72 2e 73 5f 61 64 64 |k.sin_ad|dr.s_add|
|00004100| 72 29 20 3d 3d 20 67 6f | 64 5f 69 70 29 20 0a 20 |r) == go|d_ip) . |
|00004110| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 7b | | {|
|00004120| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00004130| 20 20 20 20 69 66 20 28 | 64 65 62 75 67 29 0a 20 | if (|debug). |
|00004140| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004150| 20 20 20 20 20 70 72 69 | 6e 74 66 28 22 54 68 69 | pri|ntf("Thi|
|00004160| 73 20 69 73 20 74 68 65 | 20 47 6f 64 2d 69 70 2e |s is the| God-ip.|
|00004170| 20 43 68 61 6e 67 69 6e | 67 20 63 6f 6e 66 2d 69 | Changin|g conf-i|
|00004180| 64 20 69 66 20 6e 65 63 | 65 73 73 61 72 79 2e 5c |d if nec|essary.\|
|00004190| 6e 22 29 3b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |n");. | |
|000041a0| 20 20 20 20 20 20 0a 20 | 20 20 20 20 20 20 20 20 | . | |
|000041b0| 20 20 20 20 20 20 20 20 | 20 20 69 66 20 28 63 6f | | if (co|
|000041c0| 6e 66 65 72 65 6e 63 65 | 5f 69 64 20 21 3d 20 6e |nference|_id != n|
|000041d0| 74 6f 68 73 28 76 69 64 | 70 74 72 2d 3e 63 6f 6e |tohs(vid|ptr->con|
|000041e0| 66 65 72 65 6e 63 65 69 | 64 29 29 20 0a 09 09 20 |ferencei|d)) ... |
|000041f0| 20 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00004200| 20 20 20 20 20 20 20 20 | 20 20 64 6f 6c 6f 67 28 | | dolog(|
|00004210| 22 43 6f 6e 66 2d 69 64 | 20 77 61 73 20 25 64 5c |"Conf-id| was %d\|
|00004220| 6e 22 2c 20 63 6f 6e 66 | 65 72 65 6e 63 65 5f 69 |n", conf|erence_i|
|00004230| 64 29 3b 0a 20 0a 20 20 | 20 20 20 20 20 20 20 20 |d);. . | |
|00004240| 20 20 20 20 20 20 20 20 | 20 20 20 20 63 6f 6e 66 | | conf|
|00004250| 65 72 65 6e 63 65 5f 69 | 64 20 3d 20 6e 74 6f 68 |erence_i|d = ntoh|
|00004260| 73 28 76 69 64 70 74 72 | 2d 3e 63 6f 6e 66 65 72 |s(vidptr|->confer|
|00004270| 65 6e 63 65 69 64 29 3b | 0a 20 0a 20 20 20 20 20 |enceid);|. . |
|00004280| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004290| 20 64 6f 6c 6f 67 28 22 | 43 6f 6e 66 2d 69 64 20 | dolog("|Conf-id |
|000042a0| 63 68 61 6e 67 65 64 20 | 74 6f 20 25 64 5c 6e 22 |changed |to %d\n"|
|000042b0| 2c 20 63 6f 6e 66 65 72 | 65 6e 63 65 5f 69 64 29 |, confer|ence_id)|
|000042c0| 3b 0a 20 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |;. . | |
|000042d0| 20 20 20 20 20 20 20 20 | 20 20 2f 2a 20 77 65 65 | | /* wee|
|000042e0| 64 20 6f 75 74 20 61 6c | 6c 20 74 68 65 20 63 6c |d out al|l the cl|
|000042f0| 69 65 6e 74 73 20 77 68 | 6f 20 6e 6f 77 20 68 61 |ients wh|o now ha|
|00004300| 76 65 20 62 61 64 20 63 | 6f 6e 66 2d 69 64 27 73 |ve bad c|onf-id's|
|00004310| 20 20 20 20 20 20 20 20 | 20 20 2a 2f 0a 20 20 20 | | */. |
|00004320| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004330| 20 20 20 2f 2a 20 68 6f | 77 65 76 65 72 20 69 66 | /* ho|wever if|
|00004340| 20 74 68 65 20 67 6f 64 | 2d 69 70 20 63 68 61 6e | the god|-ip chan|
|00004350| 67 65 64 20 69 74 20 74 | 6f 20 30 2c 20 64 6f 6e |ged it t|o 0, don|
|00004360| 27 74 20 6b 69 63 6b 20 | 61 6e 79 62 6f 64 79 20 |'t kick |anybody |
|00004370| 6f 66 66 2a 2f 0a 20 0a | 20 20 20 20 20 20 20 20 |off*/. .| |
|00004380| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 69 66 | | if|
|00004390| 20 28 63 6f 6e 66 65 72 | 65 6e 63 65 5f 69 64 20 | (confer|ence_id |
|000043a0| 21 3d 20 30 29 0a 20 20 | 20 20 20 20 20 20 20 20 |!= 0). | |
|000043b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 72 | | r|
|000043c0| 65 6d 6f 76 65 5f 73 6f | 6d 65 5f 63 6c 69 65 6e |emove_so|me_clien|
|000043d0| 74 73 28 63 6f 6e 66 65 | 72 65 6e 63 65 5f 69 64 |ts(confe|rence_id|
|000043e0| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |);. | |
|000043f0| 20 20 20 20 20 20 7d 0a | 20 20 20 20 20 20 20 20 | }.| |
|00004400| 20 20 20 20 20 20 20 20 | 7d 0a 0a 09 09 69 66 20 | |}....if |
|00004410| 28 28 74 79 70 65 20 3d | 3d 20 43 4c 49 45 4e 54 |((type =|= CLIENT|
|00004420| 29 20 26 26 20 28 63 6f | 6e 66 65 72 65 6e 63 65 |) && (co|nference|
|00004430| 5f 69 64 20 21 3d 20 30 | 29 29 0a 09 09 20 20 20 |_id != 0|))... |
|00004440| 69 66 20 28 6e 74 6f 68 | 73 28 76 69 64 70 74 72 |if (ntoh|s(vidptr|
|00004450| 2d 3e 63 6f 6e 66 65 72 | 65 6e 63 65 69 64 29 20 |->confer|enceid) |
|00004460| 21 3d 20 63 6f 6e 66 65 | 72 65 6e 63 65 5f 69 64 |!= confe|rence_id|
|00004470| 29 0a 09 09 20 20 20 7b | 0a 09 09 20 20 20 20 20 |)... {|... |
|00004480| 20 64 6f 6c 6f 67 28 22 | 63 6f 6e 66 65 72 65 6e | dolog("|conferen|
|00004490| 63 65 20 69 64 73 20 64 | 6f 20 6e 6f 74 20 6d 61 |ce ids d|o not ma|
|000044a0| 74 63 68 20 25 64 20 25 | 64 5c 6e 22 2c 6e 74 6f |tch %d %|d\n",nto|
|000044b0| 68 73 28 76 69 64 70 74 | 72 2d 3e 63 6f 6e 66 65 |hs(vidpt|r->confe|
|000044c0| 72 65 6e 63 65 69 64 29 | 2c 63 6f 6e 66 65 72 65 |renceid)|,confere|
|000044d0| 6e 63 65 5f 69 64 29 3b | 0a 09 09 20 20 20 20 20 |nce_id);|... |
|000044e0| 20 63 6c 6e 74 5f 61 64 | 64 72 2e 73 69 6e 5f 66 | clnt_ad|dr.sin_f|
|000044f0| 61 6d 69 6c 79 20 3d 20 | 41 46 5f 49 4e 45 54 3b |amily = |AF_INET;|
|00004500| 0a 09 09 20 20 20 20 20 | 20 63 6c 6e 74 5f 61 64 |... | clnt_ad|
|00004510| 64 72 2e 73 69 6e 5f 70 | 6f 72 74 20 3d 20 68 74 |dr.sin_p|ort = ht|
|00004520| 6f 6e 73 28 56 49 44 5f | 50 4f 52 54 29 3b 0a 09 |ons(VID_|PORT);..|
|00004530| 09 20 20 20 20 20 20 62 | 63 6f 70 79 28 26 76 69 |. b|copy(&vi|
|00004540| 64 70 74 72 2d 3e 72 6f | 75 74 69 6e 67 2e 73 72 |dptr->ro|uting.sr|
|00004550| 63 2e 61 64 64 72 2c 26 | 63 6c 6e 74 5f 61 64 64 |c.addr,&|clnt_add|
|00004560| 72 2e 73 69 6e 5f 61 64 | 64 72 2c 34 29 3b 0a 20 |r.sin_ad|dr,4);. |
|00004570| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004580| 20 20 20 20 20 77 72 69 | 74 65 5f 6d 73 67 28 26 | wri|te_msg(&|
|00004590| 63 6c 6e 74 5f 61 64 64 | 72 2c 6b 4d 65 73 73 61 |clnt_add|r,kMessa|
|000045a0| 67 65 54 79 70 65 31 2c | 63 69 5f 62 75 66 29 3b |geType1,|ci_buf);|
|000045b0| 0a 09 09 20 20 20 20 20 | 20 62 72 65 61 6b 3b 0a |... | break;.|
|000045c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000045d0| 20 20 20 7d 0a 0a 20 20 | 20 20 20 20 20 20 20 20 | }.. | |
|000045e0| 20 20 20 20 20 20 63 70 | 74 72 20 3d 20 28 75 6e | cp|tr = (un|
|000045f0| 73 69 67 6e 65 64 20 63 | 68 61 72 20 2a 29 20 28 |signed c|har *) (|
|00004600| 28 75 6e 73 69 67 6e 65 | 64 20 63 68 61 72 20 2a |(unsigne|d char *|
|00004610| 29 20 76 69 64 70 74 72 | 20 2b 20 48 45 41 44 45 |) vidptr| + HEADE|
|00004620| 52 4c 45 4e 29 20 2b 20 | 0a 09 09 20 20 20 20 20 |RLEN) + |... |
|00004630| 20 20 73 69 7a 65 6f 66 | 28 63 6c 74 70 74 72 2d | sizeof|(cltptr-|
|00004640| 3e 63 6c 6e 74 5f 63 6f | 6e 66 69 67 2e 63 6c 69 |>clnt_co|nfig.cli|
|00004650| 65 6e 74 43 6f 75 6e 74 | 29 20 2b 0a 09 09 20 20 |entCount|) +... |
|00004660| 20 20 20 20 20 73 69 7a | 65 6f 66 28 63 6c 74 70 | siz|eof(cltp|
|00004670| 74 72 2d 3e 63 6c 6e 74 | 5f 63 6f 6e 66 69 67 2e |tr->clnt|_config.|
|00004680| 73 65 71 4e 75 6d 29 20 | 2b 0a 09 09 20 20 20 20 |seqNum) |+... |
|00004690| 20 20 20 73 69 7a 65 6f | 66 28 63 6c 74 70 74 72 | sizeo|f(cltptr|
|000046a0| 2d 3e 63 6c 6e 74 5f 63 | 6f 6e 66 69 67 2e 6e 61 |->clnt_c|onfig.na|
|000046b0| 6d 65 29 20 2b 0a 09 09 | 20 20 20 20 20 20 20 73 |me) +...| s|
|000046c0| 69 7a 65 6f 66 28 63 6c | 74 70 74 72 2d 3e 63 6c |izeof(cl|tptr->cl|
|000046d0| 6e 74 5f 63 6f 6e 66 69 | 67 2e 73 65 6e 64 4d 6f |nt_confi|g.sendMo|
|000046e0| 64 65 29 20 2b 0a 09 09 | 20 20 20 20 20 20 20 73 |de) +...| s|
|000046f0| 69 7a 65 6f 66 28 63 6c | 74 70 74 72 2d 3e 63 6c |izeof(cl|tptr->cl|
|00004700| 6e 74 5f 63 6f 6e 66 69 | 67 2e 72 65 63 76 4d 6f |nt_confi|g.recvMo|
|00004710| 64 65 29 20 2b 0a 09 09 | 20 20 20 20 20 20 20 73 |de) +...| s|
|00004720| 69 7a 65 6f 66 28 63 6c | 74 70 74 72 2d 3e 63 6c |izeof(cl|tptr->cl|
|00004730| 6e 74 5f 63 6f 6e 66 69 | 67 2e 66 6c 61 67 73 29 |nt_confi|g.flags)|
|00004740| 3b 0a 0a 09 20 20 20 20 | 20 20 20 20 76 65 72 73 |;... | vers|
|00004750| 69 6f 6e 20 3d 20 2a 63 | 70 74 72 3b 0a 0a 20 20 |ion = *c|ptr;.. |
|00004760| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 63 70 | | cp|
|00004770| 74 72 31 20 3d 20 28 75 | 6e 73 69 67 6e 65 64 20 |tr1 = (u|nsigned |
|00004780| 63 68 61 72 20 2a 29 20 | 28 28 75 6e 73 69 67 6e |char *) |((unsign|
|00004790| 65 64 20 63 68 61 72 20 | 2a 29 20 76 69 64 70 74 |ed char |*) vidpt|
|000047a0| 72 20 2b 20 48 45 41 44 | 45 52 4c 45 4e 29 20 2b |r + HEAD|ERLEN) +|
|000047b0| 20 0a 09 09 20 20 20 20 | 20 20 20 20 73 69 7a 65 | ... | size|
|000047c0| 6f 66 28 63 6c 74 70 74 | 72 2d 3e 63 6c 6e 74 5f |of(cltpt|r->clnt_|
|000047d0| 63 6f 6e 66 69 67 2e 63 | 6c 69 65 6e 74 43 6f 75 |config.c|lientCou|
|000047e0| 6e 74 29 20 2b 0a 09 09 | 20 20 20 20 20 20 20 20 |nt) +...| |
|000047f0| 73 69 7a 65 6f 66 28 63 | 6c 74 70 74 72 2d 3e 63 |sizeof(c|ltptr->c|
|00004800| 6c 6e 74 5f 63 6f 6e 66 | 69 67 2e 73 65 71 4e 75 |lnt_conf|ig.seqNu|
|00004810| 6d 29 20 2b 0a 09 09 20 | 20 20 20 20 20 20 20 73 |m) +... | s|
|00004820| 69 7a 65 6f 66 28 63 6c | 74 70 74 72 2d 3e 63 6c |izeof(cl|tptr->cl|
|00004830| 6e 74 5f 63 6f 6e 66 69 | 67 2e 6e 61 6d 65 29 20 |nt_confi|g.name) |
|00004840| 2b 0a 09 09 20 20 20 20 | 20 20 20 20 73 69 7a 65 |+... | size|
|00004850| 6f 66 28 63 6c 74 70 74 | 72 2d 3e 63 6c 6e 74 5f |of(cltpt|r->clnt_|
|00004860| 63 6f 6e 66 69 67 2e 73 | 65 6e 64 4d 6f 64 65 29 |config.s|endMode)|
|00004870| 20 2b 0a 09 09 20 20 20 | 20 20 20 20 20 73 69 7a | +... | siz|
|00004880| 65 6f 66 28 63 6c 74 70 | 74 72 2d 3e 63 6c 6e 74 |eof(cltp|tr->clnt|
|00004890| 5f 63 6f 6e 66 69 67 2e | 72 65 63 76 4d 6f 64 65 |_config.|recvMode|
|000048a0| 29 3b 0a 0a 09 09 2f 2a | 20 61 73 73 75 6d 65 20 |);..../*| assume |
|000048b0| 76 65 72 73 69 6f 6e 20 | 3d 3d 20 31 20 69 73 20 |version |== 1 is |
|000048c0| 61 20 50 43 20 63 6c 69 | 65 6e 74 20 20 20 20 20 |a PC cli|ent |
|000048d0| 2a 2f 0a 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |*/.. | |
|000048e0| 20 20 20 20 69 66 20 28 | 28 28 2a 63 70 74 72 31 | if (|((*cptr1|
|000048f0| 20 26 20 50 43 5f 43 4c | 49 45 4e 54 29 20 7c 7c | & PC_CL|IENT) |||
|00004900| 20 28 76 65 72 73 69 6f | 6e 20 3d 3d 20 31 29 29 | (versio|n == 1))|
|00004910| 20 26 26 0a 09 09 20 20 | 20 20 28 6d 69 6e 5f 70 | &&... | (min_p|
|00004920| 63 5f 76 65 72 73 69 6f | 6e 20 21 3d 20 30 29 29 |c_versio|n != 0))|
|00004930| 0a 09 20 20 20 20 20 20 | 20 20 7b 0a 09 09 20 20 |.. | {... |
|00004940| 20 69 66 20 28 76 65 72 | 73 69 6f 6e 20 3c 20 6d | if (ver|sion < m|
|00004950| 69 6e 5f 70 63 5f 76 65 | 72 73 69 6f 6e 29 0a 09 |in_pc_ve|rsion)..|
|00004960| 09 20 20 20 7b 0a 09 09 | 20 20 20 20 20 20 64 6f |. {...| do|
|00004970| 6c 6f 67 28 22 6f 6c 64 | 20 50 43 20 76 65 72 73 |log("old| PC vers|
|00004980| 69 6f 6e 20 23 20 25 64 | 20 69 73 20 62 65 69 6e |ion # %d| is bein|
|00004990| 67 20 72 65 6a 65 63 74 | 65 64 5c 6e 22 2c 76 65 |g reject|ed\n",ve|
|000049a0| 72 73 69 6f 6e 29 3b 0a | 0a 09 09 20 20 20 20 20 |rsion);.|... |
|000049b0| 20 63 6c 6e 74 5f 61 64 | 64 72 2e 73 69 6e 5f 66 | clnt_ad|dr.sin_f|
|000049c0| 61 6d 69 6c 79 20 3d 20 | 41 46 5f 49 4e 45 54 3b |amily = |AF_INET;|
|000049d0| 0a 09 09 20 20 20 20 20 | 20 63 6c 6e 74 5f 61 64 |... | clnt_ad|
|000049e0| 64 72 2e 73 69 6e 5f 70 | 6f 72 74 20 3d 20 68 74 |dr.sin_p|ort = ht|
|000049f0| 6f 6e 73 28 56 49 44 5f | 50 4f 52 54 29 3b 0a 09 |ons(VID_|PORT);..|
|00004a00| 09 20 20 20 20 20 20 62 | 63 6f 70 79 28 26 76 69 |. b|copy(&vi|
|00004a10| 64 70 74 72 2d 3e 72 6f | 75 74 69 6e 67 2e 73 72 |dptr->ro|uting.sr|
|00004a20| 63 2e 61 64 64 72 2c 26 | 63 6c 6e 74 5f 61 64 64 |c.addr,&|clnt_add|
|00004a30| 72 2e 73 69 6e 5f 61 64 | 64 72 2c 34 29 3b 0a 20 |r.sin_ad|dr,4);. |
|00004a40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004a50| 20 20 20 20 20 77 72 69 | 74 65 5f 6d 73 67 28 26 | wri|te_msg(&|
|00004a60| 63 6c 6e 74 5f 61 64 64 | 72 2c 6b 4d 65 73 73 61 |clnt_add|r,kMessa|
|00004a70| 67 65 54 79 70 65 31 2c | 6d 76 5f 70 63 5f 62 75 |geType1,|mv_pc_bu|
|00004a80| 66 29 3b 0a 09 09 20 20 | 20 20 20 20 62 72 65 61 |f);... | brea|
|00004a90| 6b 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |k;. | |
|00004aa0| 20 20 20 20 20 20 7d 0a | 09 20 20 20 20 20 20 20 | }.|. |
|00004ab0| 20 7d 0a 09 20 20 20 20 | 20 20 20 20 65 6c 73 65 | }.. | else|
|00004ac0| 0a 09 20 20 20 20 20 20 | 20 20 20 20 20 69 66 20 |.. | if |
|00004ad0| 28 6d 69 6e 5f 6d 61 63 | 5f 76 65 72 73 69 6f 6e |(min_mac|_version|
|00004ae0| 20 21 3d 20 30 29 20 0a | 09 09 20 20 20 7b 0a 09 | != 0) .|.. {..|
|00004af0| 09 20 20 20 20 20 20 69 | 66 20 28 76 65 72 73 69 |. i|f (versi|
|00004b00| 6f 6e 20 3c 20 6d 69 6e | 5f 6d 61 63 5f 76 65 72 |on < min|_mac_ver|
|00004b10| 73 69 6f 6e 29 0a 09 09 | 20 20 20 20 20 20 7b 0a |sion)...| {.|
|00004b20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004b30| 20 20 20 20 20 20 20 20 | 20 64 6f 6c 6f 67 28 22 | | dolog("|
|00004b40| 6f 6c 64 20 4d 41 43 20 | 76 65 72 73 69 6f 6e 20 |old MAC |version |
|00004b50| 23 20 25 64 20 69 73 20 | 62 65 69 6e 67 20 72 65 |# %d is |being re|
|00004b60| 6a 65 63 74 65 64 5c 6e | 22 2c 76 65 72 73 69 6f |jected\n|",versio|
|00004b70| 6e 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |n);. | |
|00004b80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 63 6c 6e | | cln|
|00004b90| 74 5f 61 64 64 72 2e 73 | 69 6e 5f 66 61 6d 69 6c |t_addr.s|in_famil|
|00004ba0| 79 20 3d 20 41 46 5f 49 | 4e 45 54 3b 0a 20 20 20 |y = AF_I|NET;. |
|00004bb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004bc0| 20 20 20 20 20 20 63 6c | 6e 74 5f 61 64 64 72 2e | cl|nt_addr.|
|00004bd0| 73 69 6e 5f 70 6f 72 74 | 20 3d 20 68 74 6f 6e 73 |sin_port| = htons|
|00004be0| 28 56 49 44 5f 50 4f 52 | 54 29 3b 0a 20 20 20 20 |(VID_POR|T);. |
|00004bf0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004c00| 20 20 20 20 20 62 63 6f | 70 79 28 26 76 69 64 70 | bco|py(&vidp|
|00004c10| 74 72 2d 3e 72 6f 75 74 | 69 6e 67 2e 73 72 63 2e |tr->rout|ing.src.|
|00004c20| 61 64 64 72 2c 26 63 6c | 6e 74 5f 61 64 64 72 2e |addr,&cl|nt_addr.|
|00004c30| 73 69 6e 5f 61 64 64 72 | 2c 34 29 3b 0a 20 20 20 |sin_addr|,4);. |
|00004c40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004c50| 20 20 20 20 20 20 77 72 | 69 74 65 5f 6d 73 67 28 | wr|ite_msg(|
|00004c60| 26 63 6c 6e 74 5f 61 64 | 64 72 2c 6b 4d 65 73 73 |&clnt_ad|dr,kMess|
|00004c70| 61 67 65 54 79 70 65 31 | 2c 6d 76 5f 6d 61 63 5f |ageType1|,mv_mac_|
|00004c80| 62 75 66 29 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |buf);. | |
|00004c90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 62 | | b|
|00004ca0| 72 65 61 6b 3b 0a 09 09 | 20 20 20 20 20 20 7d 09 |reak;...| }.|
|00004cb0| 0a 09 09 20 20 20 7d 0a | 0a 20 20 20 20 20 20 20 |... }.|. |
|00004cc0| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 28 63 6c | | if ((cl|
|00004cd0| 74 70 74 72 20 3d 20 6f | 70 65 6e 5f 63 6f 6e 6e |tptr = o|pen_conn|
|00004ce0| 65 63 74 69 6f 6e 28 76 | 69 64 70 74 72 2c 26 63 |ection(v|idptr,&c|
|00004cf0| 73 6f 63 6b 2c 74 79 70 | 65 29 29 20 21 3d 20 4e |sock,typ|e)) != N|
|00004d00| 55 4c 4c 29 0a 09 09 20 | 20 20 64 69 73 74 72 69 |ULL)... | distri|
|00004d10| 62 75 74 65 28 76 69 64 | 70 74 72 2c 63 6c 74 70 |bute(vid|ptr,cltp|
|00004d20| 74 72 2c 54 52 55 45 29 | 3b 0a 0a 09 09 62 72 65 |tr,TRUE)|;....bre|
|00004d30| 61 6b 3b 0a 09 20 20 20 | 20 20 7d 0a 0a 23 69 66 |ak;.. | }..#if|
|00004d40| 64 65 66 20 44 45 42 55 | 47 0a 20 20 20 20 20 20 |def DEBU|G. |
|00004d50| 20 20 20 20 20 20 20 69 | 66 20 28 64 65 62 75 67 | i|f (debug|
|00004d60| 29 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 7b |). | {|
|00004d70| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00004d80| 20 69 66 20 28 63 6c 74 | 70 74 72 2d 3e 63 6c 6e | if (clt|ptr->cln|
|00004d90| 74 5f 66 6c 61 67 73 20 | 26 20 43 4c 49 45 4e 54 |t_flags |& CLIENT|
|00004da0| 29 20 20 20 20 20 20 20 | 20 0a 20 20 20 20 20 20 |) | . |
|00004db0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 70 72 69 | | pri|
|00004dc0| 6e 74 66 28 22 43 4c 49 | 45 4e 54 5c 6e 22 29 3b |ntf("CLI|ENT\n");|
|00004dd0| 0a 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|00004de0| 20 20 69 66 20 28 63 6c | 74 70 74 72 2d 3e 63 6c | if (cl|tptr->cl|
|00004df0| 6e 74 5f 66 6c 61 67 73 | 20 26 20 42 43 43 5f 43 |nt_flags| & BCC_C|
|00004e00| 4c 49 45 4e 54 29 0a 20 | 20 20 20 20 20 20 20 20 |LIENT). | |
|00004e10| 20 20 20 20 20 20 20 20 | 20 20 70 72 69 6e 74 66 | | printf|
|00004e20| 28 22 42 43 43 5f 43 4c | 49 45 4e 54 5c 6e 22 29 |("BCC_CL|IENT\n")|
|00004e30| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;. | |
|00004e40| 20 20 69 66 20 28 63 6c | 74 70 74 72 2d 3e 63 6c | if (cl|tptr->cl|
|00004e50| 6e 74 5f 66 6c 61 67 73 | 20 26 20 42 43 43 5f 53 |nt_flags| & BCC_S|
|00004e60| 45 52 56 45 52 29 20 20 | 0a 20 20 20 20 20 20 20 |ERVER) |. |
|00004e70| 20 20 20 20 20 20 20 20 | 20 20 20 20 70 72 69 6e | | prin|
|00004e80| 74 66 28 22 42 43 43 5f | 53 45 52 56 45 52 5c 6e |tf("BCC_|SERVER\n|
|00004e90| 22 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |");. | |
|00004ea0| 20 20 20 20 69 66 20 28 | 63 6c 74 70 74 72 2d 3e | if (|cltptr->|
|00004eb0| 63 6c 6e 74 5f 66 6c 61 | 67 73 20 26 20 42 43 43 |clnt_fla|gs & BCC|
|00004ec0| 5f 4f 52 49 47 49 4e 29 | 20 20 0a 20 20 20 20 20 |_ORIGIN)| . |
|00004ed0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 70 72 | | pr|
|00004ee0| 69 6e 74 66 28 22 42 43 | 43 5f 4f 52 49 47 49 4e |intf("BC|C_ORIGIN|
|00004ef0| 5c 6e 22 29 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |\n");. | |
|00004f00| 20 20 20 20 20 0a 20 20 | 20 20 20 20 20 20 20 20 | . | |
|00004f10| 20 20 20 20 20 20 69 66 | 20 28 63 6c 74 70 74 72 | if| (cltptr|
|00004f20| 2d 3e 63 6c 6e 74 5f 66 | 6c 61 67 73 20 26 20 52 |->clnt_f|lags & R|
|00004f30| 45 46 31 5f 43 4c 49 45 | 4e 54 29 20 20 20 0a 20 |EF1_CLIE|NT) . |
|00004f40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004f50| 20 20 70 72 69 6e 74 66 | 28 22 52 45 46 31 5f 43 | printf|("REF1_C|
|00004f60| 4c 49 45 4e 54 5c 6e 22 | 29 3b 0a 20 20 20 20 20 |LIENT\n"|);. |
|00004f70| 20 20 20 20 20 20 20 20 | 20 20 20 69 66 20 28 63 | | if (c|
|00004f80| 6c 74 70 74 72 2d 3e 63 | 6c 6e 74 5f 66 6c 61 67 |ltptr->c|lnt_flag|
|00004f90| 73 20 26 20 52 45 46 31 | 5f 53 45 52 56 45 52 29 |s & REF1|_SERVER)|
|00004fa0| 20 20 20 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | . | |
|00004fb0| 20 20 20 20 20 20 20 70 | 72 69 6e 74 66 28 22 52 | p|rintf("R|
|00004fc0| 45 46 31 5f 53 45 52 56 | 45 52 5c 6e 22 29 3b 0a |EF1_SERV|ER\n");.|
|00004fd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004fe0| 69 66 20 28 63 6c 74 70 | 74 72 2d 3e 63 6c 6e 74 |if (cltp|tr->clnt|
|00004ff0| 5f 66 6c 61 67 73 20 26 | 20 52 45 46 31 5f 4f 52 |_flags &| REF1_OR|
|00005000| 49 47 49 4e 29 20 20 20 | 0a 20 20 20 20 20 20 20 |IGIN) |. |
|00005010| 20 20 20 20 20 20 20 20 | 20 20 20 20 70 72 69 6e | | prin|
|00005020| 74 66 28 22 52 45 46 31 | 5f 4f 52 49 47 49 4e 5c |tf("REF1|_ORIGIN\|
|00005030| 6e 22 29 3b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |n");. | |
|00005040| 20 20 20 20 0a 20 20 20 | 20 20 20 20 20 20 20 20 | . | |
|00005050| 20 20 20 20 20 69 66 20 | 28 63 6c 74 70 74 72 2d | if |(cltptr-|
|00005060| 3e 63 6c 6e 74 5f 66 6c | 61 67 73 20 26 20 52 45 |>clnt_fl|ags & RE|
|00005070| 46 32 5f 53 45 52 56 45 | 52 29 20 20 0a 20 20 20 |F2_SERVE|R) . |
|00005080| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005090| 70 72 69 6e 74 66 28 22 | 52 45 46 32 5f 53 45 52 |printf("|REF2_SER|
|000050a0| 56 45 52 5c 6e 22 29 3b | 0a 20 20 20 20 20 20 20 |VER\n");|. |
|000050b0| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 63 6c 74 | | if (clt|
|000050c0| 70 74 72 2d 3e 63 6c 6e | 74 5f 66 6c 61 67 73 20 |ptr->cln|t_flags |
|000050d0| 26 20 52 45 46 32 5f 4f | 52 49 47 49 4e 29 20 20 |& REF2_O|RIGIN) |
|000050e0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000050f0| 20 20 20 20 70 72 69 6e | 74 66 28 22 52 45 46 32 | prin|tf("REF2|
|00005100| 5f 4f 52 49 47 49 4e 5c | 6e 22 29 3b 0a 0a 20 20 |_ORIGIN\|n");.. |
|00005110| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 69 66 | | if|
|00005120| 20 28 63 6c 74 70 74 72 | 2d 3e 63 6c 6e 74 5f 66 | (cltptr|->clnt_f|
|00005130| 6c 61 67 73 20 26 20 52 | 45 46 33 5f 53 45 52 56 |lags & R|EF3_SERV|
|00005140| 45 52 29 20 20 0a 20 20 | 20 20 20 20 20 20 20 20 |ER) . | |
|00005150| 20 20 20 20 20 20 20 20 | 20 70 72 69 6e 74 66 28 | | printf(|
|00005160| 22 52 45 46 33 5f 53 45 | 52 56 45 52 5c 6e 22 29 |"REF3_SE|RVER\n")|
|00005170| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;. | |
|00005180| 20 20 69 66 20 28 63 6c | 74 70 74 72 2d 3e 63 6c | if (cl|tptr->cl|
|00005190| 6e 74 5f 66 6c 61 67 73 | 20 26 20 52 45 46 33 5f |nt_flags| & REF3_|
|000051a0| 4f 52 49 47 49 4e 29 20 | 20 0a 20 20 20 20 20 20 |ORIGIN) | . |
|000051b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 70 72 69 | | pri|
|000051c0| 6e 74 66 28 22 52 45 46 | 33 5f 4f 52 49 47 49 4e |ntf("REF|3_ORIGIN|
|000051d0| 5c 6e 22 29 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |\n");. | |
|000051e0| 20 20 20 7d 0a 23 65 6e | 64 69 66 0a 20 20 20 20 | }.#en|dif. |
|000051f0| 20 20 20 20 20 20 20 20 | 20 20 20 0a 23 69 66 64 | | .#ifd|
|00005200| 65 66 20 44 45 42 55 47 | 0a 20 20 20 20 20 20 20 |ef DEBUG|. |
|00005210| 20 20 20 20 20 20 69 66 | 20 28 64 65 62 75 67 29 | if| (debug)|
|00005220| 0a 09 20 20 20 20 20 20 | 20 20 70 72 69 6e 74 66 |.. | printf|
|00005230| 28 22 63 6c 69 65 6e 74 | 20 66 6f 75 6e 64 20 5c |("client| found \|
|00005240| 6e 22 29 3b 0a 23 65 6e | 64 69 66 0a 20 20 20 20 |n");.#en|dif. |
|00005250| 20 20 20 20 20 20 20 20 | 20 63 6c 74 70 74 72 2d | | cltptr-|
|00005260| 3e 63 6c 6e 74 5f 72 74 | 69 6d 65 72 20 3d 20 30 |>clnt_rt|imer = 0|
|00005270| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 63 |;. | c|
|00005280| 6c 74 70 74 72 2d 3e 63 | 6c 6e 74 5f 66 6c 61 67 |ltptr->c|lnt_flag|
|00005290| 73 20 26 3d 20 7e 53 55 | 53 50 45 4e 44 3b 0a 0a |s &= ~SU|SPEND;..|
|000052a0| 09 20 20 20 20 20 2f 2a | 20 69 66 20 74 68 69 73 |. /*| if this|
|000052b0| 20 69 73 20 6a 75 73 74 | 20 61 20 6b 65 65 70 20 | is just| a keep |
|000052c0| 61 6c 69 76 65 20 66 72 | 6f 6d 20 61 20 52 45 46 |alive fr|om a REF|
|000052d0| 33 20 53 45 52 56 45 52 | 20 6a 75 73 74 20 72 65 |3 SERVER| just re|
|000052e0| 74 75 72 6e 20 6e 6f 77 | 20 2a 2f 20 0a 09 20 20 |turn now| */ .. |
|000052f0| 20 20 20 69 66 20 28 28 | 63 6c 74 70 74 72 2d 3e | if ((|cltptr->|
|00005300| 63 6c 6e 74 5f 66 6c 61 | 67 73 20 26 20 52 45 46 |clnt_fla|gs & REF|
|00005310| 33 5f 53 45 52 56 45 52 | 29 20 26 26 20 28 28 63 |3_SERVER|) && ((c|
|00005320| 73 6f 63 6b 2e 73 69 6e | 5f 61 64 64 72 2e 73 5f |sock.sin|_addr.s_|
|00005330| 61 64 64 72 20 3d 3d 20 | 76 69 64 70 74 72 2d 3e |addr == |vidptr->|
|00005340| 72 6f 75 74 69 6e 67 2e | 73 72 63 2e 61 64 64 72 |routing.|src.addr|
|00005350| 29 29 29 0a 09 09 62 72 | 65 61 6b 3b 0a 0a 09 20 |)))...br|eak;... |
|00005360| 20 20 20 20 2f 2a 20 69 | 66 20 74 68 69 73 20 69 | /* i|f this i|
|00005370| 73 20 6a 75 73 74 20 61 | 20 6b 65 65 70 20 61 6c |s just a| keep al|
|00005380| 69 76 65 20 66 72 6f 6d | 20 61 20 42 43 43 20 53 |ive from| a BCC S|
|00005390| 45 52 56 45 52 20 6a 75 | 73 74 20 72 65 74 75 72 |ERVER ju|st retur|
|000053a0| 6e 20 6e 6f 77 20 2a 2f | 20 0a 09 20 20 20 20 20 |n now */| .. |
|000053b0| 69 66 20 28 28 63 6c 74 | 70 74 72 2d 3e 63 6c 6e |if ((clt|ptr->cln|
|000053c0| 74 5f 66 6c 61 67 73 20 | 26 20 42 43 43 5f 53 45 |t_flags |& BCC_SE|
|000053d0| 52 56 45 52 29 20 26 26 | 20 28 28 63 73 6f 63 6b |RVER) &&| ((csock|
|000053e0| 2e 73 69 6e 5f 61 64 64 | 72 2e 73 5f 61 64 64 72 |.sin_add|r.s_addr|
|000053f0| 20 3d 3d 20 76 69 64 70 | 74 72 2d 3e 72 6f 75 74 | == vidp|tr->rout|
|00005400| 69 6e 67 2e 73 72 63 2e | 61 64 64 72 29 29 29 0a |ing.src.|addr))).|
|00005410| 09 09 62 72 65 61 6b 3b | 0a 0a 20 20 20 20 20 20 |..break;|.. |
|00005420| 20 20 20 20 20 20 20 20 | 0a 09 20 20 20 20 20 20 | |.. |
|00005430| 73 77 69 74 63 68 20 28 | 6e 74 6f 68 73 28 76 69 |switch (|ntohs(vi|
|00005440| 64 70 74 72 2d 3e 72 6f | 75 74 69 6e 67 2e 64 65 |dptr->ro|uting.de|
|00005450| 73 74 2e 66 61 6d 69 6c | 79 29 29 0a 20 20 20 20 |st.famil|y)). |
|00005460| 20 20 20 20 20 20 20 20 | 20 20 7b 0a 20 20 20 20 | | {. |
|00005470| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 63 61 73 | | cas|
|00005480| 65 20 6b 52 65 66 6c 65 | 63 74 6f 72 3a 0a 0a 09 |e kRefle|ctor:...|
|00005490| 09 20 20 20 20 69 66 20 | 28 28 6e 74 6f 68 73 28 |. if |((ntohs(|
|000054a0| 76 69 64 70 74 72 2d 3e | 64 61 74 61 54 79 70 65 |vidptr->|dataType|
|000054b0| 29 20 3d 3d 20 6b 43 6f | 6e 66 69 67 56 69 64 65 |) == kCo|nfigVide|
|000054c0| 6f 54 79 70 65 29 20 26 | 26 20 0a 09 09 09 28 6e |oType) &|& ....(n|
|000054d0| 74 6f 68 73 28 76 69 64 | 70 74 72 2d 3e 6d 65 73 |tohs(vid|ptr->mes|
|000054e0| 73 61 67 65 29 20 3d 3d | 20 6b 4f 70 65 6e 43 6f |sage) ==| kOpenCo|
|000054f0| 6e 6e 65 63 74 69 6f 6e | 29 29 0a 09 09 20 20 20 |nnection|))... |
|00005500| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00005510| 20 20 20 20 20 20 20 20 | 20 20 63 6f 6e 74 69 6e | | contin|
|00005520| 75 65 5f 63 6f 6e 6e 65 | 63 74 69 6f 6e 28 63 6c |ue_conne|ction(cl|
|00005530| 74 70 74 72 2c 76 69 64 | 70 74 72 29 3b 20 20 0a |tptr,vid|ptr); .|
|00005540| 09 09 20 20 20 20 20 20 | 20 64 69 73 74 72 69 62 |.. | distrib|
|00005550| 75 74 65 28 76 69 64 70 | 74 72 2c 63 6c 74 70 74 |ute(vidp|tr,cltpt|
|00005560| 72 2c 54 52 55 45 29 3b | 0a 09 09 20 20 20 20 7d |r,TRUE);|... }|
|00005570| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00005580| 20 20 20 20 20 65 6c 73 | 65 0a 09 09 20 20 20 20 | els|e... |
|00005590| 20 20 20 69 66 20 28 28 | 6e 74 6f 68 73 28 76 69 | if ((|ntohs(vi|
|000055a0| 64 70 74 72 2d 3e 64 61 | 74 61 54 79 70 65 29 20 |dptr->da|taType) |
|000055b0| 3d 3d 20 6b 43 6f 6e 66 | 69 67 56 69 64 65 6f 54 |== kConf|igVideoT|
|000055c0| 79 70 65 29 20 26 26 20 | 0a 09 09 09 20 20 20 28 |ype) && |.... (|
|000055d0| 6e 74 6f 68 73 28 76 69 | 64 70 74 72 2d 3e 6d 65 |ntohs(vi|dptr->me|
|000055e0| 73 73 61 67 65 29 20 3d | 3d 20 6b 43 6c 6f 73 65 |ssage) =|= kClose|
|000055f0| 43 6f 6e 6e 65 63 74 69 | 6f 6e 29 29 0a 09 09 20 |Connecti|on))... |
|00005600| 20 20 20 20 20 20 7b 0a | 09 09 09 20 20 69 66 20 | {.|... if |
|00005610| 28 63 6c 74 70 74 72 2d | 3e 63 6c 6e 74 5f 66 6c |(cltptr-|>clnt_fl|
|00005620| 61 67 73 20 26 20 28 42 | 43 43 5f 53 45 52 56 45 |ags & (B|CC_SERVE|
|00005630| 52 20 7c 20 52 45 46 31 | 5f 53 45 52 56 45 52 20 |R | REF1|_SERVER |
|00005640| 7c 20 52 45 46 32 5f 53 | 45 52 56 45 52 20 7c 20 || REF2_S|ERVER | |
|00005650| 52 45 46 33 5f 53 45 52 | 56 45 52 29 29 0a 09 09 |REF3_SER|VER))...|
|00005660| 09 20 20 7b 0a 09 09 20 | 20 20 20 20 20 20 20 20 |. {... | |
|00005670| 20 20 20 20 69 66 20 28 | 28 63 6c 74 70 74 72 20 | if (|(cltptr |
|00005680| 3d 20 66 69 6e 64 5f 63 | 6c 69 65 6e 74 28 76 69 |= find_c|lient(vi|
|00005690| 64 70 74 72 2d 3e 72 6f | 75 74 69 6e 67 2e 73 72 |dptr->ro|uting.sr|
|000056a0| 63 2e 61 64 64 72 29 29 | 20 3d 3d 20 4e 55 4c 4c |c.addr))| == NULL|
|000056b0| 29 0a 09 09 09 20 20 20 | 20 20 7b 0a 09 09 20 20 |).... | {... |
|000056c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 69 6e | | in|
|000056d0| 2e 73 5f 61 64 64 72 20 | 3d 20 76 69 64 70 74 72 |.s_addr |= vidptr|
|000056e0| 2d 3e 72 6f 75 74 69 6e | 67 2e 73 72 63 2e 61 64 |->routin|g.src.ad|
|000056f0| 64 72 3b 0a 09 09 20 20 | 20 20 20 20 20 20 20 20 |dr;... | |
|00005700| 20 20 20 20 20 20 64 6f | 6c 6f 67 28 22 55 6e 61 | do|log("Una|
|00005710| 62 6c 65 20 74 6f 20 66 | 69 6e 64 20 73 65 72 76 |ble to f|ind serv|
|00005720| 65 72 27 73 20 63 6c 69 | 65 6e 74 20 61 74 20 25 |er's cli|ent at %|
|00005730| 73 20 66 6f 72 20 63 6c | 6f 73 65 5c 6e 22 2c 69 |s for cl|ose\n",i|
|00005740| 6e 65 74 5f 6e 74 6f 61 | 28 69 6e 29 29 3b 0a 09 |net_ntoa|(in));..|
|00005750| 09 09 09 62 72 65 61 6b | 3b 0a 09 09 09 20 20 20 |...break|;.... |
|00005760| 20 20 7d 0a 09 09 09 20 | 20 7d 0a 0a 20 20 20 20 | }.... | }.. |
|00005770| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005780| 20 20 20 20 20 20 64 6f | 6c 6f 67 28 22 63 6c 6f | do|log("clo|
|00005790| 73 69 6e 67 20 63 6f 6e | 6e 65 63 74 69 6f 6e 20 |sing con|nection |
|000057a0| 66 72 6f 6d 20 25 73 5c | 6e 22 2c 63 6c 74 70 74 |from %s\|n",cltpt|
|000057b0| 72 2d 3e 63 6c 6e 74 5f | 63 6f 6e 66 69 67 2e 6e |r->clnt_|config.n|
|000057c0| 61 6d 65 29 3b 0a 0a 09 | 09 20 20 20 20 20 20 20 |ame);...|. |
|000057d0| 20 20 20 64 69 73 74 72 | 69 62 75 74 65 28 76 69 | distr|ibute(vi|
|000057e0| 64 70 74 72 2c 63 6c 74 | 70 74 72 2c 54 52 55 45 |dptr,clt|ptr,TRUE|
|000057f0| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |);. | |
|00005800| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 64 65 6c | | del|
|00005810| 65 74 65 5f 63 6c 69 65 | 6e 74 28 63 6c 74 70 74 |ete_clie|nt(cltpt|
|00005820| 72 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |r);. | |
|00005830| 20 20 20 20 20 20 20 20 | 20 20 20 7d 0a 20 20 20 | | }. |
|00005840| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005850| 20 62 72 65 61 6b 3b 0a | 0a 20 20 20 20 20 20 20 | break;.|. |
|00005860| 20 20 20 20 20 20 20 20 | 20 20 63 61 73 65 20 6b | | case k|
|00005870| 43 6c 69 65 6e 74 3a 0a | 09 09 20 20 20 20 69 66 |Client:.|.. if|
|00005880| 20 28 28 63 6c 74 70 74 | 72 20 3d 20 66 69 6e 64 | ((cltpt|r = find|
|00005890| 5f 63 6c 69 65 6e 74 28 | 76 69 64 70 74 72 2d 3e |_client(|vidptr->|
|000058a0| 72 6f 75 74 69 6e 67 2e | 64 65 73 74 2e 61 64 64 |routing.|dest.add|
|000058b0| 72 29 29 20 3d 3d 20 4e | 55 4c 4c 29 0a 09 09 20 |r)) == N|ULL)... |
|000058c0| 20 20 20 7b 0a 09 09 20 | 20 20 20 20 20 20 69 6e | {... | in|
|000058d0| 2e 73 5f 61 64 64 72 20 | 3d 20 76 69 64 70 74 72 |.s_addr |= vidptr|
|000058e0| 2d 3e 72 6f 75 74 69 6e | 67 2e 64 65 73 74 2e 61 |->routin|g.dest.a|
|000058f0| 64 64 72 3b 0a 09 09 20 | 20 20 20 20 20 20 64 6f |ddr;... | do|
|00005900| 6c 6f 67 28 22 55 6e 61 | 62 6c 65 20 74 6f 20 66 |log("Una|ble to f|
|00005910| 69 6e 64 20 74 68 65 20 | 64 65 73 74 69 6e 61 74 |ind the |destinat|
|00005920| 69 6f 6e 20 63 6c 69 65 | 6e 74 20 61 74 20 25 73 |ion clie|nt at %s|
|00005930| 20 66 6f 72 20 61 20 6b | 43 6c 69 65 6e 74 20 6d | for a k|Client m|
|00005940| 65 73 67 5c 6e 22 2c 69 | 6e 65 74 5f 6e 74 6f 61 |esg\n",i|net_ntoa|
|00005950| 28 69 6e 29 29 3b 0a 09 | 09 20 20 20 20 20 20 20 |(in));..|. |
|00005960| 64 6f 6c 6f 67 28 22 6d | 73 67 20 66 72 6f 6d 20 |dolog("m|sg from |
|00005970| 25 73 5c 6e 22 2c 69 6e | 65 74 5f 6e 74 6f 61 28 |%s\n",in|et_ntoa(|
|00005980| 63 73 6f 63 6b 2e 73 69 | 6e 5f 61 64 64 72 29 29 |csock.si|n_addr))|
|00005990| 3b 0a 09 09 20 20 20 20 | 20 20 20 62 72 65 61 6b |;... | break|
|000059a0| 3b 0a 09 09 20 20 20 20 | 7d 0a 0a 20 20 20 20 20 |;... |}.. |
|000059b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 77 | | w|
|000059c0| 72 69 74 65 5f 70 6b 74 | 28 76 69 64 70 74 72 2c |rite_pkt|(vidptr,|
|000059d0| 63 6c 74 70 74 72 29 3b | 0a 20 20 20 20 20 20 20 |cltptr);|. |
|000059e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 62 72 65 | | bre|
|000059f0| 61 6b 3b 0a 0a 20 20 20 | 20 20 20 20 20 20 20 20 |ak;.. | |
|00005a00| 20 20 20 20 20 20 63 61 | 73 65 20 6b 47 72 6f 75 | ca|se kGrou|
|00005a10| 70 3a 0a 09 20 20 20 20 | 20 20 20 20 20 20 20 20 |p:.. | |
|00005a20| 69 66 20 28 63 6c 74 70 | 74 72 2d 3e 63 6c 6e 74 |if (cltp|tr->clnt|
|00005a30| 5f 66 6c 61 67 73 20 26 | 20 28 42 43 43 5f 53 45 |_flags &| (BCC_SE|
|00005a40| 52 56 45 52 20 7c 20 52 | 45 46 31 5f 53 45 52 56 |RVER | R|EF1_SERV|
|00005a50| 45 52 20 7c 20 52 45 46 | 32 5f 53 45 52 56 45 52 |ER | REF|2_SERVER|
|00005a60| 20 7c 20 52 45 46 33 5f | 53 45 52 56 45 52 29 29 | | REF3_|SERVER))|
|00005a70| 0a 09 09 20 20 20 20 7b | 0a 09 09 20 20 20 20 20 |... {|... |
|00005a80| 20 20 69 66 20 28 28 63 | 6c 74 70 74 72 20 3d 20 | if ((c|ltptr = |
|00005a90| 66 69 6e 64 5f 63 6c 69 | 65 6e 74 28 76 69 64 70 |find_cli|ent(vidp|
|00005aa0| 74 72 2d 3e 72 6f 75 74 | 69 6e 67 2e 73 72 63 2e |tr->rout|ing.src.|
|00005ab0| 61 64 64 72 29 29 20 3d | 3d 20 4e 55 4c 4c 29 0a |addr)) =|= NULL).|
|00005ac0| 09 09 20 20 20 20 20 20 | 20 7b 0a 09 09 20 20 20 |.. | {... |
|00005ad0| 20 20 20 20 20 20 20 69 | 6e 2e 73 5f 61 64 64 72 | i|n.s_addr|
|00005ae0| 20 3d 20 76 69 64 70 74 | 72 2d 3e 72 6f 75 74 69 | = vidpt|r->routi|
|00005af0| 6e 67 2e 73 72 63 2e 61 | 64 64 72 3b 0a 09 09 20 |ng.src.a|ddr;... |
|00005b00| 20 20 20 20 20 20 20 20 | 20 64 6f 6c 6f 67 28 22 | | dolog("|
|00005b10| 55 6e 61 62 6c 65 20 74 | 6f 20 66 69 6e 64 20 73 |Unable t|o find s|
|00005b20| 65 72 76 65 72 27 73 20 | 63 6c 69 65 6e 74 20 61 |erver's |client a|
|00005b30| 74 20 25 73 20 66 6f 72 | 20 67 72 6f 75 70 5c 6e |t %s for| group\n|
|00005b40| 22 2c 69 6e 65 74 5f 6e | 74 6f 61 28 69 6e 29 29 |",inet_n|toa(in))|
|00005b50| 3b 0a 09 09 20 20 20 20 | 20 20 20 20 20 20 62 72 |;... | br|
|00005b60| 65 61 6b 3b 0a 09 09 20 | 20 20 20 20 20 20 7d 0a |eak;... | }.|
|00005b70| 09 20 20 20 20 20 20 20 | 20 20 20 20 20 7d 0a 0a |. | }..|
|00005b80| 09 20 20 20 20 20 20 20 | 20 20 20 20 20 69 66 20 |. | if |
|00005b90| 28 6e 74 6f 68 73 28 76 | 69 64 70 74 72 2d 3e 6d |(ntohs(v|idptr->m|
|00005ba0| 65 73 73 61 67 65 29 20 | 3d 3d 20 6b 41 75 64 69 |essage) |== kAudi|
|00005bb0| 6f 29 0a 09 20 20 20 20 | 20 20 20 20 20 20 20 20 |o).. | |
|00005bc0| 20 20 20 64 69 73 74 72 | 69 62 75 74 65 5f 61 75 | distr|ibute_au|
|00005bd0| 64 69 6f 28 76 69 64 70 | 74 72 2c 63 6c 74 70 74 |dio(vidp|tr,cltpt|
|00005be0| 72 29 3b 0a 09 09 20 20 | 20 20 65 6c 73 65 0a 09 |r);... | else..|
|00005bf0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 64 | | d|
|00005c00| 69 73 74 72 69 62 75 74 | 65 28 76 69 64 70 74 72 |istribut|e(vidptr|
|00005c10| 2c 63 6c 74 70 74 72 2c | 46 41 4c 53 45 29 3b 0a |,cltptr,|FALSE);.|
|00005c20| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00005c30| 20 20 20 20 20 62 72 65 | 61 6b 3b 0a 0a 09 09 20 | bre|ak;.... |
|00005c40| 64 65 66 61 75 6c 74 3a | 0a 20 20 20 20 20 20 20 |default:|. |
|00005c50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 64 6f 6c | | dol|
|00005c60| 6f 67 28 22 75 6e 6b 6e | 6f 77 6e 20 76 69 64 65 |og("unkn|own vide|
|00005c70| 6f 20 6d 65 73 73 61 67 | 65 20 74 79 70 65 5c 6e |o messag|e type\n|
|00005c80| 22 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |");. | |
|00005c90| 20 20 20 20 20 20 20 20 | 62 72 65 61 6b 3b 0a 20 | |break;. |
|00005ca0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 7d 0a 09 | | }..|
|00005cb0| 20 20 20 20 20 20 62 72 | 65 61 6b 3b 0a 0a 0a 20 | br|eak;... |
|00005cc0| 20 20 20 20 20 20 20 20 | 20 20 63 61 73 65 20 43 | | case C|
|00005cd0| 4f 4e 54 52 4f 4c 3a 0a | 23 69 66 64 65 66 20 44 |ONTROL:.|#ifdef D|
|00005ce0| 45 42 55 47 0a 20 20 20 | 20 20 20 20 20 20 20 20 |EBUG. | |
|00005cf0| 20 20 20 69 66 20 28 64 | 65 62 75 67 29 0a 20 20 | if (d|ebug). |
|00005d00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 70 | | p|
|00005d10| 72 69 6e 74 66 28 22 70 | 72 6f 63 65 73 73 20 63 |rintf("p|rocess c|
|00005d20| 6f 6e 74 72 6f 6c 20 70 | 61 63 6b 65 74 5c 6e 22 |ontrol p|acket\n"|
|00005d30| 29 3b 0a 23 65 6e 64 69 | 66 0a 20 20 20 20 20 20 |);.#endi|f. |
|00005d40| 20 20 20 20 20 20 20 20 | 63 6f 6e 70 6b 74 20 3d | |conpkt =|
|00005d50| 20 28 52 65 66 43 6f 6e | 50 6b 74 20 2a 29 20 6d | (RefCon|Pkt *) m|
|00005d60| 73 67 3b 0a 0a 20 20 20 | 20 20 20 20 20 20 20 20 |sg;.. | |
|00005d70| 20 20 20 69 66 20 28 6d | 73 67 6c 65 6e 20 3c 20 | if (m|sglen < |
|00005d80| 4d 49 4e 52 45 46 50 4b | 54 29 0a 20 20 20 20 20 |MINREFPK|T). |
|00005d90| 20 20 20 20 20 20 20 20 | 20 7b 0a 20 20 20 20 20 | | {. |
|00005da0| 20 20 20 20 20 20 20 20 | 20 20 20 20 64 6f 6c 6f | | dolo|
|00005db0| 67 28 22 6d 73 67 6c 65 | 6e 20 69 73 20 6c 65 73 |g("msgle|n is les|
|00005dc0| 73 20 74 68 65 6e 20 4d | 49 4e 52 45 46 50 4b 54 |s then M|INREFPKT|
|00005dd0| 5c 6e 22 29 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |\n");. | |
|00005de0| 20 20 20 20 20 20 20 62 | 72 65 61 6b 3b 20 20 20 | b|reak; |
|00005df0| 20 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | . | |
|00005e00| 7d 0a 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |}.. | |
|00005e10| 20 69 66 20 28 6d 73 67 | 6c 65 6e 20 3c 20 6e 74 | if (msg|len < nt|
|00005e20| 6f 68 73 28 63 6f 6e 70 | 6b 74 2d 3e 6d 73 67 5f |ohs(conp|kt->msg_|
|00005e30| 6c 65 6e 29 29 0a 20 20 | 20 20 20 20 20 20 20 20 |len)). | |
|00005e40| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00005e50| 20 20 20 20 20 20 20 64 | 6f 6c 6f 67 28 22 63 6f | d|olog("co|
|00005e60| 6e 70 6b 74 2d 3e 6d 73 | 67 5f 6c 65 6e 20 69 73 |npkt->ms|g_len is|
|00005e70| 20 6c 65 73 73 20 74 68 | 65 6e 20 6d 73 67 6c 65 | less th|en msgle|
|00005e80| 6e 5c 6e 22 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |n\n");. | |
|00005e90| 20 20 20 20 20 20 20 20 | 62 72 65 61 6b 3b 20 20 | |break; |
|00005ea0| 20 20 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | . | |
|00005eb0| 20 7d 0a 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | }.. | |
|00005ec0| 20 20 70 72 6f 63 65 73 | 73 5f 63 6f 6e 74 72 6f | proces|s_contro|
|00005ed0| 6c 5f 70 6b 74 28 63 6f | 6e 70 6b 74 29 3b 0a 0a |l_pkt(co|npkt);..|
|00005ee0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 62 72 | | br|
|00005ef0| 65 61 6b 3b 0a 0a 20 20 | 20 20 20 20 20 20 20 20 |eak;.. | |
|00005f00| 20 64 65 66 61 75 6c 74 | 3a 0a 20 20 20 20 20 20 | default|:. |
|00005f10| 20 20 20 20 20 20 20 20 | 64 6f 6c 6f 67 28 22 62 | |dolog("b|
|00005f20| 61 64 20 76 61 6c 75 65 | 20 72 65 74 75 72 6e 65 |ad value| returne|
|00005f30| 64 20 66 72 6f 6d 20 72 | 65 63 65 69 76 65 5c 6e |d from r|eceive\n|
|00005f40| 22 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |");. | |
|00005f50| 20 20 65 78 69 74 28 31 | 29 3b 0a 20 20 20 20 20 | exit(1|);. |
|00005f60| 20 20 7d 0a 0a 20 20 20 | 20 20 20 20 69 66 20 28 | }.. | if (|
|00005f70| 74 69 6d 65 72 5f 65 78 | 70 69 72 65 64 29 20 0a |timer_ex|pired) .|
|00005f80| 20 20 20 20 20 20 20 7b | 0a 20 20 20 20 20 20 20 | {|. |
|00005f90| 20 20 20 74 69 6d 65 72 | 5f 65 78 70 69 72 65 64 | timer|_expired|
|00005fa0| 2d 2d 3b 0a 20 20 20 20 | 20 20 20 20 20 20 64 6f |--;. | do|
|00005fb0| 5f 74 69 6d 65 72 28 29 | 3b 0a 20 20 20 20 20 20 |_timer()|;. |
|00005fc0| 20 7d 0a 20 20 20 20 7d | 0a 7d 0a 0a 0a 0a 69 6e | }. }|.}....in|
|00005fd0| 69 74 5f 6d 65 6d 28 29 | 0a 7b 0a 20 20 20 20 20 |it_mem()|.{. |
|00005fe0| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 20 2a 73 |unsigned| char *s|
|00005ff0| 74 61 73 68 3b 0a 20 20 | 20 20 20 63 6c 69 65 6e |tash;. | clien|
|00006000| 74 20 2a 63 6c 74 70 74 | 72 3b 0a 20 20 20 20 20 |t *cltpt|r;. |
|00006010| 73 6c 69 73 74 20 2a 73 | 70 74 72 3b 0a 20 20 20 |slist *s|ptr;. |
|00006020| 20 20 69 6e 74 20 63 6e | 74 3b 0a 0a 0a 0a 20 20 | int cn|t;.... |
|00006030| 20 20 20 69 66 20 28 28 | 73 74 61 73 68 20 3d 20 | if ((|stash = |
|00006040| 28 75 6e 73 69 67 6e 65 | 64 20 63 68 61 72 20 2a |(unsigne|d char *|
|00006050| 29 20 63 61 6c 6c 6f 63 | 28 4d 41 58 43 4c 49 45 |) calloc|(MAXCLIE|
|00006060| 4e 54 2c 73 69 7a 65 6f | 66 28 63 6c 69 65 6e 74 |NT,sizeo|f(client|
|00006070| 29 29 29 20 3d 3d 20 4e | 55 4c 4c 29 0a 20 20 20 |))) == N|ULL). |
|00006080| 20 20 7b 0a 20 20 20 20 | 20 20 20 20 64 6f 6c 6f | {. | dolo|
|00006090| 67 28 22 55 6e 61 62 6c | 65 20 74 6f 20 67 65 74 |g("Unabl|e to get|
|000060a0| 20 63 6c 69 65 6e 74 20 | 6d 65 6d 6f 72 79 5c 6e | client |memory\n|
|000060b0| 22 29 3b 0a 20 20 20 20 | 20 20 20 20 65 78 69 74 |");. | exit|
|000060c0| 28 31 29 3b 0a 20 20 20 | 20 20 7d 0a 0a 20 20 20 |(1);. | }.. |
|000060d0| 20 20 66 6f 72 20 28 63 | 6e 74 20 3d 20 30 2c 20 | for (c|nt = 0, |
|000060e0| 63 6c 74 70 74 72 20 3d | 20 28 63 6c 69 65 6e 74 |cltptr =| (client|
|000060f0| 20 2a 29 20 73 74 61 73 | 68 3b 20 63 6e 74 20 3c | *) stas|h; cnt <|
|00006100| 20 4d 41 58 43 4c 49 45 | 4e 54 3b 20 63 6e 74 2b | MAXCLIE|NT; cnt+|
|00006110| 2b 2c 20 63 6c 74 70 74 | 72 2b 2b 29 0a 09 66 72 |+, cltpt|r++)..fr|
|00006120| 65 65 5f 63 6c 69 65 6e | 74 28 63 6c 74 70 74 72 |ee_clien|t(cltptr|
|00006130| 29 3b 0a 0a 20 20 20 20 | 20 69 66 20 28 28 73 74 |);.. | if ((st|
|00006140| 61 73 68 20 3d 20 28 75 | 6e 73 69 67 6e 65 64 20 |ash = (u|nsigned |
|00006150| 63 68 61 72 20 2a 29 20 | 63 61 6c 6c 6f 63 28 28 |char *) |calloc((|
|00006160| 4d 41 58 43 4c 49 45 4e | 54 20 2a 20 4d 41 58 43 |MAXCLIEN|T * MAXC|
|00006170| 4c 49 45 4e 54 20 2a 20 | 32 29 2c 73 69 7a 65 6f |LIENT * |2),sizeo|
|00006180| 66 28 73 6c 69 73 74 29 | 29 29 20 3d 3d 20 4e 55 |f(slist)|)) == NU|
|00006190| 4c 4c 29 0a 20 20 20 20 | 20 7b 0a 20 20 20 20 20 |LL). | {. |
|000061a0| 20 20 20 64 6f 6c 6f 67 | 28 22 55 6e 61 62 6c 65 | dolog|("Unable|
|000061b0| 20 74 6f 20 67 65 74 20 | 73 6c 69 73 74 20 6d 65 | to get |slist me|
|000061c0| 6d 6f 72 79 20 5c 6e 22 | 29 3b 0a 20 20 20 20 20 |mory \n"|);. |
|000061d0| 20 20 20 65 78 69 74 28 | 31 29 3b 0a 20 20 20 20 | exit(|1);. |
|000061e0| 20 7d 0a 0a 20 20 20 20 | 20 66 6f 72 20 28 63 6e | }.. | for (cn|
|000061f0| 74 20 3d 20 30 2c 20 73 | 70 74 72 20 3d 20 28 73 |t = 0, s|ptr = (s|
|00006200| 6c 69 73 74 20 2a 29 20 | 73 74 61 73 68 3b 20 63 |list *) |stash; c|
|00006210| 6e 74 20 3c 20 28 4d 41 | 58 43 4c 49 45 4e 54 20 |nt < (MA|XCLIENT |
|00006220| 2a 20 4d 41 58 43 4c 49 | 45 4e 54 20 2a 32 29 3b |* MAXCLI|ENT *2);|
|00006230| 20 63 6e 74 2b 2b 2c 20 | 73 70 74 72 2b 2b 29 0a | cnt++, |sptr++).|
|00006240| 09 66 72 65 65 5f 73 6c | 69 73 74 28 73 70 74 72 |.free_sl|ist(sptr|
|00006250| 29 3b 0a 7d 0a 0a 0a 0a | 0a 66 72 65 65 5f 63 6c |);.}....|.free_cl|
|00006260| 69 65 6e 74 28 63 6c 74 | 70 74 72 29 0a 20 20 20 |ient(clt|ptr). |
|00006270| 20 63 6c 69 65 6e 74 20 | 2a 63 6c 74 70 74 72 3b | client |*cltptr;|
|00006280| 0a 7b 0a 20 20 20 20 63 | 6c 74 70 74 72 2d 3e 63 |.{. c|ltptr->c|
|00006290| 6c 6e 74 5f 6e 70 74 72 | 20 3d 20 63 6c 66 72 65 |lnt_nptr| = clfre|
|000062a0| 65 3b 0a 20 20 20 20 63 | 6c 66 72 65 65 20 3d 20 |e;. c|lfree = |
|000062b0| 63 6c 74 70 74 72 3b 0a | 20 20 20 20 63 66 72 65 |cltptr;.| cfre|
|000062c0| 65 5f 63 6e 74 2b 2b 3b | 0a 7d 0a 0a 0a 63 6c 69 |e_cnt++;|.}...cli|
|000062d0| 65 6e 74 20 2a 67 65 74 | 5f 63 6c 69 65 6e 74 28 |ent *get|_client(|
|000062e0| 29 0a 7b 0a 20 20 20 63 | 6c 69 65 6e 74 20 2a 63 |).{. c|lient *c|
|000062f0| 6c 74 70 74 72 3b 0a 0a | 20 20 20 69 66 20 28 63 |ltptr;..| if (c|
|00006300| 66 72 65 65 5f 63 6e 74 | 20 3d 3d 20 30 29 0a 20 |free_cnt| == 0). |
|00006310| 20 20 7b 0a 20 20 20 20 | 20 20 64 6f 6c 6f 67 28 | {. | dolog(|
|00006320| 22 4e 6f 20 6d 6f 72 65 | 20 66 72 65 65 20 63 6c |"No more| free cl|
|00006330| 69 65 6e 74 73 5c 6e 22 | 29 3b 0a 20 20 20 20 20 |ients\n"|);. |
|00006340| 20 65 78 69 74 28 31 29 | 3b 0a 20 20 20 7d 0a 0a | exit(1)|;. }..|
|00006350| 20 20 20 69 66 20 28 63 | 6c 66 72 65 65 20 3d 3d | if (c|lfree ==|
|00006360| 20 4e 55 4c 4c 29 20 0a | 20 20 20 7b 0a 20 20 20 | NULL) .| {. |
|00006370| 20 20 20 64 6f 6c 6f 67 | 28 22 55 6e 65 78 70 65 | dolog|("Unexpe|
|00006380| 63 74 65 64 6c 79 20 6e | 6f 20 6d 6f 72 65 20 66 |ctedly n|o more f|
|00006390| 72 65 65 20 63 6c 69 65 | 6e 74 73 5c 6e 22 29 3b |ree clie|nts\n");|
|000063a0| 0a 20 20 20 20 20 20 65 | 78 69 74 28 31 29 3b 0a |. e|xit(1);.|
|000063b0| 20 20 20 7d 0a 0a 20 20 | 20 63 6c 74 70 74 72 20 | }.. | cltptr |
|000063c0| 3d 20 63 6c 66 72 65 65 | 3b 0a 20 20 20 63 6c 66 |= clfree|;. clf|
|000063d0| 72 65 65 20 3d 20 63 6c | 66 72 65 65 2d 3e 63 6c |ree = cl|free->cl|
|000063e0| 6e 74 5f 6e 70 74 72 3b | 0a 20 20 20 63 66 72 65 |nt_nptr;|. cfre|
|000063f0| 65 5f 63 6e 74 2d 2d 3b | 0a 20 20 20 62 7a 65 72 |e_cnt--;|. bzer|
|00006400| 6f 28 63 6c 74 70 74 72 | 2c 73 69 7a 65 6f 66 28 |o(cltptr|,sizeof(|
|00006410| 63 6c 69 65 6e 74 29 29 | 3b 0a 20 20 20 72 65 74 |client))|;. ret|
|00006420| 75 72 6e 28 63 6c 74 70 | 74 72 29 3b 0a 7d 0a 0a |urn(cltp|tr);.}..|
|00006430| 66 72 65 65 5f 73 6c 69 | 73 74 28 73 70 74 72 29 |free_sli|st(sptr)|
|00006440| 0a 20 20 20 20 73 6c 69 | 73 74 20 2a 73 70 74 72 |. sli|st *sptr|
|00006450| 3b 0a 7b 0a 20 20 20 20 | 73 70 74 72 2d 3e 73 6e |;.{. |sptr->sn|
|00006460| 64 5f 6e 70 74 72 20 3d | 20 73 66 72 65 65 3b 0a |d_nptr =| sfree;.|
|00006470| 20 20 20 20 73 66 72 65 | 65 20 3d 20 73 70 74 72 | sfre|e = sptr|
|00006480| 3b 0a 20 20 20 20 73 66 | 72 65 65 5f 63 6e 74 2b |;. sf|ree_cnt+|
|00006490| 2b 3b 0a 7d 0a 0a 0a 73 | 6c 69 73 74 20 2a 67 65 |+;.}...s|list *ge|
|000064a0| 74 5f 73 6c 69 73 74 28 | 29 0a 7b 0a 20 20 20 73 |t_slist(|).{. s|
|000064b0| 6c 69 73 74 20 2a 73 70 | 74 72 3b 0a 0a 20 20 20 |list *sp|tr;.. |
|000064c0| 69 66 20 28 73 66 72 65 | 65 5f 63 6e 74 20 3d 3d |if (sfre|e_cnt ==|
|000064d0| 20 30 29 0a 20 20 20 7b | 0a 20 20 20 20 20 20 64 | 0). {|. d|
|000064e0| 6f 6c 6f 67 28 22 4e 6f | 20 6d 6f 72 65 20 66 72 |olog("No| more fr|
|000064f0| 65 65 20 73 6c 69 73 74 | 73 5c 6e 22 29 3b 0a 20 |ee slist|s\n");. |
|00006500| 20 20 20 20 20 65 78 69 | 74 28 31 29 3b 0a 20 20 | exi|t(1);. |
|00006510| 20 7d 0a 0a 20 20 20 69 | 66 20 28 73 66 72 65 65 | }.. i|f (sfree|
|00006520| 20 3d 3d 20 4e 55 4c 4c | 29 20 0a 20 20 20 7b 0a | == NULL|) . {.|
|00006530| 20 20 20 20 20 20 64 6f | 6c 6f 67 28 22 55 6e 65 | do|log("Une|
|00006540| 78 70 65 63 74 65 64 6c | 79 20 6e 6f 20 6d 6f 72 |xpectedl|y no mor|
|00006550| 65 20 66 72 65 65 20 73 | 6c 69 73 74 73 5c 6e 22 |e free s|lists\n"|
|00006560| 29 3b 0a 20 20 20 20 20 | 20 65 78 69 74 28 31 29 |);. | exit(1)|
|00006570| 3b 0a 20 20 20 7d 0a 0a | 20 20 20 73 70 74 72 20 |;. }..| sptr |
|00006580| 3d 20 73 66 72 65 65 3b | 0a 20 20 20 73 66 72 65 |= sfree;|. sfre|
|00006590| 65 20 3d 20 73 66 72 65 | 65 2d 3e 73 6e 64 5f 6e |e = sfre|e->snd_n|
|000065a0| 70 74 72 3b 0a 20 20 20 | 73 66 72 65 65 5f 63 6e |ptr;. |sfree_cn|
|000065b0| 74 2d 2d 3b 0a 20 20 20 | 62 7a 65 72 6f 28 73 70 |t--;. |bzero(sp|
|000065c0| 74 72 2c 73 69 7a 65 6f | 66 28 73 6c 69 73 74 29 |tr,sizeo|f(slist)|
|000065d0| 29 3b 0a 20 20 20 72 65 | 74 75 72 6e 28 73 70 74 |);. re|turn(spt|
|000065e0| 72 29 3b 0a 7d 0a 0a 0a | 72 65 6d 6f 76 65 5f 73 |r);.}...|remove_s|
|000065f0| 6f 6d 65 5f 63 6c 69 65 | 6e 74 73 28 63 6f 6e 66 |ome_clie|nts(conf|
|00006600| 5f 69 64 29 0a 20 20 20 | 69 6e 74 20 63 6f 6e 66 |_id). |int conf|
|00006610| 5f 69 64 3b 0a 7b 0a 20 | 20 20 63 6c 69 65 6e 74 |_id;.{. | client|
|00006620| 20 2a 63 70 74 72 2c 2a | 63 70 74 72 31 3b 0a 0a | *cptr,*|cptr1;..|
|00006630| 20 20 20 63 70 74 72 20 | 3d 20 63 68 65 61 64 3b | cptr |= chead;|
|00006640| 0a 0a 20 20 20 77 68 69 | 6c 65 20 28 63 70 74 72 |.. whi|le (cptr|
|00006650| 20 21 3d 20 4e 55 4c 4c | 29 20 0a 20 20 20 7b 0a | != NULL|) . {.|
|00006660| 20 20 20 20 20 20 63 70 | 74 72 31 20 3d 20 63 70 | cp|tr1 = cp|
|00006670| 74 72 2d 3e 63 6c 6e 74 | 5f 6e 70 74 72 3b 0a 20 |tr->clnt|_nptr;. |
|00006680| 20 20 20 20 20 69 66 20 | 28 28 63 70 74 72 2d 3e | if |((cptr->|
|00006690| 63 6c 6e 74 5f 66 6c 61 | 67 73 20 26 20 43 4c 49 |clnt_fla|gs & CLI|
|000066a0| 45 4e 54 29 20 26 26 20 | 28 63 70 74 72 2d 3e 63 |ENT) && |(cptr->c|
|000066b0| 6c 6e 74 5f 63 6f 6e 66 | 5f 69 64 20 21 3d 20 63 |lnt_conf|_id != c|
|000066c0| 6f 6e 66 5f 69 64 29 29 | 20 0a 20 20 20 20 20 20 |onf_id))| . |
|000066d0| 7b 0a 09 20 64 6f 6c 6f | 67 28 22 63 6c 69 65 6e |{.. dolo|g("clien|
|000066e0| 74 20 25 73 20 69 73 20 | 62 65 69 6e 67 20 64 65 |t %s is |being de|
|000066f0| 6c 65 74 65 64 20 64 75 | 65 20 74 6f 20 63 6f 6e |leted du|e to con|
|00006700| 66 2d 69 64 20 6d 69 73 | 2d 6d 61 74 63 68 5c 6e |f-id mis|-match\n|
|00006710| 22 2c 63 70 74 72 2d 3e | 63 6c 6e 74 5f 63 6f 6e |",cptr->|clnt_con|
|00006720| 66 69 67 2e 6e 61 6d 65 | 29 3b 0a 20 20 20 20 20 |fig.name|);. |
|00006730| 20 20 20 20 77 72 69 74 | 65 5f 6d 73 67 28 26 63 | writ|e_msg(&c|
|00006740| 70 74 72 2d 3e 63 6c 6e | 74 5f 61 64 64 72 2c 6b |ptr->cln|t_addr,k|
|00006750| 4d 65 73 73 61 67 65 54 | 79 70 65 31 2c 63 69 5f |MessageT|ype1,ci_|
|00006760| 62 75 66 29 3b 0a 20 20 | 20 20 20 20 20 20 20 64 |buf);. | d|
|00006770| 65 6c 65 74 65 5f 63 6c | 69 65 6e 74 28 63 70 74 |elete_cl|ient(cpt|
|00006780| 72 29 3b 0a 20 20 20 20 | 20 20 7d 0a 20 20 20 20 |r);. | }. |
|00006790| 20 63 70 74 72 20 3d 20 | 63 70 74 72 31 3b 0a 20 | cptr = |cptr1;. |
|000067a0| 20 20 7d 0a 7d 0a 20 20 | 20 20 7d 0a 09 09 7d 0a | }.}. | }...}.|
|000067b0| 09 09 65 6c 73 65 0a 20 | 20 20 20 20 20 20 20 20 |..else. | |
|000067c0| 20 20 20 20 20 20 20 20 | 20 20 69 66 20 28 28 6e | | if ((n|
|000067d0| 74 6f 68 73 28 76 69 64 | 70 74 72 2d 3e 64 61 74 |tohs(vid|ptr->dat|
|000067e0| 61 54 79 70 65 29 20 21 | 3d 20 6b 43 6f 6e 66 69 |aType) !|= kConfi|
|000067f0| 67 56 69 64 65 6f 54 79 | 70 65 29 20 7c 7c 20 0a |gVideoTy|pe) || .|
|00006800| 32 2e 33 30 62 31 2f 72 | 65 66 6c 65 63 74 2e 68 |2.30b1/r|eflect.h|
|00006810| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006820| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006830| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006840| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006850| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006860| 00 00 00 00 31 30 30 36 | 34 34 20 00 30 30 30 30 |....1006|44 .0000|
|00006870| 30 36 20 00 30 30 30 30 | 30 30 20 00 30 30 30 30 |06 .0000|00 .0000|
|00006880| 30 30 32 31 32 34 30 20 | 30 35 36 31 30 35 31 35 |0021240 |05610515|
|00006890| 33 30 37 20 30 31 34 30 | 30 34 00 20 30 00 00 00 |307 0140|04. 0...|
|000068a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000068b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000068c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000068d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000068e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000068f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006900| 00 75 73 74 61 72 00 30 | 30 6c 79 6e 6e 00 00 00 |.ustar.0|0lynn...|
|00006910| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006920| 00 00 00 00 00 00 00 00 | 00 73 79 73 74 65 6d 00 |........|.system.|
|00006930| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006940| 00 00 00 00 00 00 00 00 | 00 30 30 30 30 30 30 20 |........|.000000 |
|00006950| 00 30 30 30 30 30 30 20 | 00 00 00 00 00 00 00 00 |.000000 |........|
|00006960| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006970| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006980| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006990| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000069a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000069b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000069c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000069d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000069e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000069f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006a00| 2f 2a 0a 0a 43 6f 70 79 | 72 69 67 68 74 20 31 39 |/*..Copy|right 19|
|00006a10| 39 33 2c 20 31 39 39 34 | 2c 20 43 6f 72 6e 65 6c |93, 1994|, Cornel|
|00006a20| 6c 20 55 6e 69 76 65 72 | 73 69 74 79 0a 0a 43 6f |l Univer|sity..Co|
|00006a30| 72 6e 65 6c 6c 20 68 65 | 72 65 62 79 20 67 72 61 |rnell he|reby gra|
|00006a40| 6e 74 73 20 70 65 72 6d | 69 73 73 69 6f 6e 20 74 |nts perm|ission t|
|00006a50| 6f 20 75 73 65 2c 20 63 | 6f 70 79 2c 20 6d 6f 64 |o use, c|opy, mod|
|00006a60| 69 66 79 2c 20 61 6e 64 | 20 64 69 73 74 72 69 62 |ify, and| distrib|
|00006a70| 75 74 65 20 74 68 69 73 | 20 70 72 6f 67 72 61 6d |ute this| program|
|00006a80| 20 66 6f 72 20 61 6e 79 | 20 70 75 72 70 6f 73 65 | for any| purpose|
|00006a90| 20 0a 61 6e 64 20 77 69 | 74 68 6f 75 74 20 66 65 | .and wi|thout fe|
|00006aa0| 65 2c 20 70 72 6f 76 69 | 64 65 64 20 74 68 61 74 |e, provi|ded that|
|00006ab0| 20 74 68 65 73 65 20 63 | 6f 70 79 72 69 67 68 74 | these c|opyright|
|00006ac0| 20 61 6e 64 20 70 65 72 | 6d 69 73 73 69 6f 6e 20 | and per|mission |
|00006ad0| 6e 6f 74 69 63 65 73 20 | 61 70 70 65 61 72 20 6f |notices |appear o|
|00006ae0| 6e 20 61 6c 6c 20 63 6f | 70 69 65 73 20 61 6e 64 |n all co|pies and|
|00006af0| 20 0a 73 75 70 70 6f 72 | 74 69 6e 67 20 64 6f 63 | .suppor|ting doc|
|00006b00| 75 6d 65 6e 74 61 74 69 | 6f 6e 2c 20 74 68 65 20 |umentati|on, the |
|00006b10| 6e 61 6d 65 20 6f 66 20 | 43 6f 72 6e 65 6c 6c 20 |name of |Cornell |
|00006b20| 6e 6f 74 20 62 65 20 75 | 73 65 64 20 69 6e 20 61 |not be u|sed in a|
|00006b30| 64 76 65 72 74 69 73 69 | 6e 67 20 6f 72 20 70 75 |dvertisi|ng or pu|
|00006b40| 62 6c 69 63 69 74 79 20 | 70 65 72 74 61 69 6e 69 |blicity |pertaini|
|00006b50| 6e 67 20 0a 74 6f 20 64 | 69 73 74 72 69 62 75 74 |ng .to d|istribut|
|00006b60| 69 6f 6e 20 6f 66 20 74 | 68 65 20 70 72 6f 67 72 |ion of t|he progr|
|00006b70| 61 6d 20 77 69 74 68 6f | 75 74 20 73 70 65 63 69 |am witho|ut speci|
|00006b80| 66 69 63 20 70 72 69 6f | 72 20 70 65 72 6d 69 73 |fic prio|r permis|
|00006b90| 73 69 6f 6e 2c 20 6e 6f | 74 69 63 65 20 62 65 20 |sion, no|tice be |
|00006ba0| 67 69 76 65 6e 20 69 6e | 20 73 75 70 70 6f 72 74 |given in| support|
|00006bb0| 69 6e 67 20 0a 64 6f 63 | 75 6d 65 6e 74 61 74 69 |ing .doc|umentati|
|00006bc0| 6f 6e 20 74 68 61 74 20 | 63 6f 70 79 69 6e 67 20 |on that |copying |
|00006bd0| 61 6e 64 20 64 69 73 74 | 72 69 62 75 74 69 6f 6e |and dist|ribution|
|00006be0| 20 69 73 20 62 79 20 70 | 65 72 6d 69 73 73 69 6f | is by p|ermissio|
|00006bf0| 6e 20 6f 66 20 43 6f 72 | 6e 65 6c 6c 2e 20 20 43 |n of Cor|nell. C|
|00006c00| 4f 52 4e 45 4c 4c 20 4d | 41 4b 45 53 20 4e 4f 20 |ORNELL M|AKES NO |
|00006c10| 0a 52 45 50 52 45 53 45 | 4e 54 41 54 49 4f 4e 53 |.REPRESE|NTATIONS|
|00006c20| 20 4f 52 20 57 41 52 52 | 41 4e 54 45 45 53 2c 20 | OR WARR|ANTEES, |
|00006c30| 45 58 50 52 45 53 53 20 | 4f 52 20 49 4d 50 4c 49 |EXPRESS |OR IMPLI|
|00006c40| 45 44 2e 20 20 42 79 20 | 77 61 79 20 6f 66 20 65 |ED. By |way of e|
|00006c50| 78 61 6d 70 6c 65 2c 20 | 62 75 74 20 6e 6f 74 20 |xample, |but not |
|00006c60| 6c 69 6d 69 74 61 74 69 | 6f 6e 2c 20 0a 43 4f 52 |limitati|on, .COR|
|00006c70| 4e 45 4c 4c 20 4d 41 4b | 45 53 20 4e 4f 20 52 45 |NELL MAK|ES NO RE|
|00006c80| 50 52 45 53 45 4e 54 41 | 54 49 4f 4e 53 20 4f 52 |PRESENTA|TIONS OR|
|00006c90| 20 57 41 52 52 41 4e 54 | 49 45 53 20 4f 46 20 4d | WARRANT|IES OF M|
|00006ca0| 45 52 43 48 41 4e 54 41 | 42 49 4c 49 54 59 20 4f |ERCHANTA|BILITY O|
|00006cb0| 52 20 46 49 54 4e 45 53 | 53 20 46 4f 52 20 41 4e |R FITNES|S FOR AN|
|00006cc0| 59 20 50 41 52 54 49 43 | 55 4c 41 52 20 0a 50 55 |Y PARTIC|ULAR .PU|
|00006cd0| 52 50 4f 53 45 20 4f 52 | 20 54 48 41 54 20 54 48 |RPOSE OR| THAT TH|
|00006ce0| 45 20 55 53 45 20 4f 46 | 20 54 48 49 53 20 53 4f |E USE OF| THIS SO|
|00006cf0| 46 54 57 41 52 45 20 4f | 52 20 44 4f 43 55 4d 45 |FTWARE O|R DOCUME|
|00006d00| 4e 54 41 54 49 4f 4e 20 | 57 49 4c 4c 20 4e 4f 54 |NTATION |WILL NOT|
|00006d10| 20 49 4e 46 52 49 4e 47 | 45 20 41 4e 59 20 50 41 | INFRING|E ANY PA|
|00006d20| 54 45 4e 54 53 2c 20 43 | 4f 50 59 52 49 47 48 54 |TENTS, C|OPYRIGHT|
|00006d30| 53 2c 20 0a 54 52 41 44 | 45 4d 41 52 4b 53 2c 20 |S, .TRAD|EMARKS, |
|00006d40| 4f 52 20 4f 54 48 45 52 | 20 52 49 47 48 54 53 2e |OR OTHER| RIGHTS.|
|00006d50| 20 20 43 6f 72 6e 65 6c | 6c 20 73 68 61 6c 6c 20 | Cornel|l shall |
|00006d60| 6e 6f 74 20 62 65 20 68 | 65 6c 64 20 6c 69 61 62 |not be h|eld liab|
|00006d70| 6c 65 20 66 6f 72 20 61 | 6e 79 20 6c 69 61 62 69 |le for a|ny liabi|
|00006d80| 6c 69 74 79 20 77 69 74 | 68 20 72 65 73 70 65 63 |lity wit|h respec|
|00006d90| 74 20 74 6f 20 0a 61 6e | 79 20 63 6c 61 69 6d 20 |t to .an|y claim |
|00006da0| 62 79 20 74 68 65 20 75 | 73 65 72 20 6f 72 20 61 |by the u|ser or a|
|00006db0| 6e 79 20 6f 74 68 65 72 | 20 70 61 72 74 79 20 61 |ny other| party a|
|00006dc0| 72 69 73 69 6e 67 20 66 | 72 6f 6d 20 75 73 65 20 |rising f|rom use |
|00006dd0| 6f 66 20 74 68 65 20 70 | 72 6f 67 72 61 6d 2e 0a |of the p|rogram..|
|00006de0| 0a 54 68 69 73 20 6d 61 | 74 65 72 69 61 6c 20 69 |.This ma|terial i|
|00006df0| 73 20 70 61 72 74 69 61 | 6c 6c 79 20 62 61 73 65 |s partia|lly base|
|00006e00| 64 20 6f 6e 20 77 6f 72 | 6b 20 73 70 6f 6e 73 6f |d on wor|k sponso|
|00006e10| 72 65 64 20 62 79 20 74 | 68 65 20 4e 61 74 69 6f |red by t|he Natio|
|00006e20| 6e 61 6c 20 53 63 69 65 | 6e 63 65 20 46 6f 75 6e |nal Scie|nce Foun|
|00006e30| 64 61 74 69 6f 6e 20 75 | 6e 64 65 72 20 43 6f 6f |dation u|nder Coo|
|00006e40| 70 65 72 61 74 69 76 65 | 20 0a 41 67 72 65 65 6d |perative| .Agreem|
|00006e50| 65 6e 74 20 4e 6f 2e 20 | 4e 43 52 2d 39 33 31 38 |ent No. |NCR-9318|
|00006e60| 33 33 37 2e 20 20 54 68 | 65 20 67 6f 76 65 72 6e |337. Th|e govern|
|00006e70| 6d 65 6e 74 20 68 61 73 | 20 63 65 72 74 61 69 6e |ment has| certain|
|00006e80| 20 72 69 67 68 74 73 20 | 69 6e 20 74 68 69 73 20 | rights |in this |
|00006e90| 6d 61 74 65 72 69 61 6c | 2e 0a 0a 2a 2f 0a 0a 0a |material|...*/...|
|00006ea0| 0a 2f 2a 20 61 64 64 72 | 65 73 73 20 66 61 6d 69 |./* addr|ess fami|
|00006eb0| 6c 69 65 73 20 2a 2f 0a | 0a 23 64 65 66 69 6e 65 |lies */.|.#define|
|00006ec0| 20 6b 47 72 6f 75 70 09 | 09 09 09 30 0a 23 64 65 | kGroup.|...0.#de|
|00006ed0| 66 69 6e 65 20 6b 43 6c | 69 65 6e 74 09 09 09 09 |fine kCl|ient....|
|00006ee0| 31 0a 23 64 65 66 69 6e | 65 20 6b 52 65 66 6c 65 |1.#defin|e kRefle|
|00006ef0| 63 74 6f 72 09 09 09 32 | 0a 0a 2f 2a 20 64 61 74 |ctor...2|../* dat|
|00006f00| 61 20 74 79 70 65 73 20 | 2a 2f 0a 23 64 65 66 69 |a types |*/.#defi|
|00006f10| 6e 65 20 6b 48 61 6c 66 | 53 69 7a 65 56 69 64 65 |ne kHalf|SizeVide|
|00006f20| 6f 54 79 70 65 09 09 31 | 0a 23 64 65 66 69 6e 65 |oType..1|.#define|
|00006f30| 20 6b 46 75 6c 6c 53 69 | 7a 65 56 69 64 65 6f 54 | kFullSi|zeVideoT|
|00006f40| 79 70 65 09 09 32 0a 23 | 64 65 66 69 6e 65 20 6b |ype..2.#|define k|
|00006f50| 4d 61 78 56 69 64 65 6f | 44 61 74 61 54 79 70 65 |MaxVideo|DataType|
|00006f60| 09 09 32 0a 23 64 65 66 | 69 6e 65 20 6b 41 75 64 |..2.#def|ine kAud|
|00006f70| 69 6f 09 09 09 09 33 0a | 0a 23 64 65 66 69 6e 65 |io....3.|.#define|
|00006f80| 20 6b 43 6f 6e 74 72 6f | 6c 54 79 70 65 09 09 09 | kContro|lType...|
|00006f90| 31 30 30 0a 23 64 65 66 | 69 6e 65 20 6b 43 6f 6e |100.#def|ine kCon|
|00006fa0| 66 69 67 56 69 64 65 6f | 54 79 70 65 09 09 31 30 |figVideo|Type..10|
|00006fb0| 31 0a 23 64 65 66 69 6e | 65 20 6b 50 61 63 6b 65 |1.#defin|e kPacke|
|00006fc0| 74 4c 6f 73 73 52 65 70 | 6f 72 74 09 09 31 30 32 |tLossRep|ort..102|
|00006fd0| 0a 23 64 65 66 69 6e 65 | 20 6b 41 63 6b 54 79 70 |.#define| kAckTyp|
|00006fe0| 65 09 09 09 31 30 33 0a | 23 64 65 66 69 6e 65 20 |e...103.|#define |
|00006ff0| 6b 4d 65 73 73 61 67 65 | 54 79 70 65 31 20 20 20 |kMessage|Type1 |
|00007000| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00007010| 31 30 34 0a 23 64 65 66 | 69 6e 65 20 6b 4d 65 73 |104.#def|ine kMes|
|00007020| 73 61 67 65 54 79 70 65 | 32 20 20 20 20 20 20 20 |sageType|2 |
|00007030| 20 20 20 20 20 20 20 20 | 20 20 20 20 31 30 35 0a | | 105.|
|00007040| 23 64 65 66 69 6e 65 20 | 6b 43 6f 6e 66 69 67 52 |#define |kConfigR|
|00007050| 65 66 54 79 70 65 09 09 | 20 20 20 20 20 20 20 20 |efType..| |
|00007060| 31 30 36 0a 0a 2f 2a 20 | 76 69 64 65 6f 20 63 6f |106../* |video co|
|00007070| 6e 74 72 6f 6c 20 6d 65 | 73 73 61 67 65 73 20 2a |ntrol me|ssages *|
|00007080| 2f 0a 23 64 65 66 69 6e | 65 20 6b 4e 6f 4d 65 73 |/.#defin|e kNoMes|
|00007090| 73 61 67 65 09 09 09 30 | 0a 09 0a 23 64 65 66 69 |sage...0|...#defi|
|000070a0| 6e 65 20 6b 4f 70 65 6e | 43 6f 6e 6e 65 63 74 69 |ne kOpen|Connecti|
|000070b0| 6f 6e 09 09 09 31 0a 23 | 64 65 66 69 6e 65 20 6b |on...1.#|define k|
|000070c0| 53 74 61 72 74 56 69 64 | 65 6f 09 09 09 32 0a 23 |StartVid|eo...2.#|
|000070d0| 64 65 66 69 6e 65 20 6b | 4d 6f 64 69 66 79 56 69 |define k|ModifyVi|
|000070e0| 64 65 6f 09 09 09 33 0a | 23 64 65 66 69 6e 65 20 |deo...3.|#define |
|000070f0| 6b 52 65 66 75 73 65 56 | 69 64 65 6f 09 09 09 34 |kRefuseV|ideo...4|
|00007100| 0a 23 64 65 66 69 6e 65 | 20 6b 53 74 6f 70 56 69 |.#define| kStopVi|
|00007110| 64 65 6f 09 09 09 35 0a | 23 64 65 66 69 6e 65 20 |deo...5.|#define |
|00007120| 6b 43 6c 6f 73 65 43 6f | 6e 6e 65 63 74 69 6f 6e |kCloseCo|nnection|
|00007130| 09 09 36 0a 0a 23 64 65 | 66 69 6e 65 20 6b 47 6f |..6..#de|fine kGo|
|00007140| 74 4f 70 65 6e 09 09 2d | 6b 4f 70 65 6e 43 6f 6e |tOpen..-|kOpenCon|
|00007150| 6e 65 63 74 69 6f 6e 0a | 23 64 65 66 69 6e 65 20 |nection.|#define |
|00007160| 6b 47 6f 74 53 74 61 72 | 74 09 09 2d 6b 53 74 61 |kGotStar|t..-kSta|
|00007170| 72 74 56 69 64 65 6f 0a | 23 64 65 66 69 6e 65 20 |rtVideo.|#define |
|00007180| 6b 47 6f 74 4d 6f 64 69 | 66 79 09 09 2d 6b 4d 6f |kGotModi|fy..-kMo|
|00007190| 64 69 66 79 56 69 64 65 | 6f 0a 23 64 65 66 69 6e |difyVide|o.#defin|
|000071a0| 65 20 6b 47 6f 74 52 65 | 66 75 73 65 09 09 2d 6b |e kGotRe|fuse..-k|
|000071b0| 52 65 66 75 73 65 56 69 | 64 65 6f 0a 23 64 65 66 |RefuseVi|deo.#def|
|000071c0| 69 6e 65 20 6b 47 6f 74 | 53 74 6f 70 09 09 2d 6b |ine kGot|Stop..-k|
|000071d0| 53 74 6f 70 56 69 64 65 | 6f 0a 23 64 65 66 69 6e |StopVide|o.#defin|
|000071e0| 65 20 6b 47 6f 74 43 6c | 6f 73 65 09 09 2d 6b 43 |e kGotCl|ose..-kC|
|000071f0| 6c 6f 73 65 43 6f 6e 6e | 65 63 74 69 6f 6e 0a 0a |loseConn|ection..|
|00007200| 23 64 65 66 69 6e 65 20 | 6b 43 6f 6e 74 69 6e 75 |#define |kContinu|
|00007210| 65 43 6f 6e 6e 65 63 74 | 69 6f 6e 09 09 31 32 0a |eConnect|ion..12.|
|00007220| 23 64 65 66 69 6e 65 20 | 6b 53 75 73 70 65 6e 64 |#define |kSuspend|
|00007230| 4d 65 73 73 61 67 65 09 | 09 09 31 33 0a 0a 23 64 |Message.|..13..#d|
|00007240| 65 66 69 6e 65 20 6b 46 | 72 61 6d 65 45 6e 64 4d |efine kF|rameEndM|
|00007250| 65 73 73 61 67 65 09 09 | 32 30 0a 0a 0a 2f 2a 20 |essage..|20.../* |
|00007260| 63 6f 6e 6e 65 63 74 20 | 6d 6f 64 65 20 2a 2f 0a |connect |mode */.|
|00007270| 23 64 65 66 69 6e 65 20 | 6b 49 6e 74 65 72 6e 61 |#define |kInterna|
|00007280| 6c 09 09 09 2d 31 0a 23 | 64 65 66 69 6e 65 20 6b |l...-1.#|define k|
|00007290| 4e 6f 43 6f 6e 6e 65 63 | 74 69 6f 6e 09 09 09 30 |NoConnec|tion...0|
|000072a0| 0a 23 64 65 66 69 6e 65 | 20 6b 57 61 69 74 69 6e |.#define| kWaitin|
|000072b0| 67 46 6f 72 4f 70 65 6e | 41 63 6b 09 09 31 0a 23 |gForOpen|Ack..1.#|
|000072c0| 64 65 66 69 6e 65 20 6b | 57 61 69 74 69 6e 67 46 |define k|WaitingF|
|000072d0| 6f 72 43 6c 69 65 6e 74 | 41 63 6b 09 09 32 0a 23 |orClient|Ack..2.#|
|000072e0| 64 65 66 69 6e 65 20 6b | 53 75 73 70 65 6e 64 65 |define k|Suspende|
|000072f0| 64 09 09 09 33 0a 23 64 | 65 66 69 6e 65 20 6b 43 |d...3.#d|efine kC|
|00007300| 6f 6e 6e 65 63 74 65 64 | 09 09 09 34 0a 0a 2f 2a |onnected|...4../*|
|00007310| 20 73 65 6e 64 2f 72 65 | 63 65 69 76 65 20 6d 6f | send/re|ceive mo|
|00007320| 64 65 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 6b 4e |de */.#d|efine kN|
|00007330| 6f 56 69 64 65 6f 53 6f | 75 72 63 65 09 09 09 2d |oVideoSo|urce...-|
|00007340| 31 0a 23 64 65 66 69 6e | 65 20 6b 4e 6f 53 69 7a |1.#defin|e kNoSiz|
|00007350| 65 09 09 09 09 30 0a 23 | 64 65 66 69 6e 65 20 6b |e....0.#|define k|
|00007360| 48 61 6c 66 53 69 7a 65 | 09 09 09 31 0a 23 64 65 |HalfSize|...1.#de|
|00007370| 66 69 6e 65 20 6b 46 75 | 6c 6c 53 69 7a 65 09 09 |fine kFu|llSize..|
|00007380| 09 32 0a 23 64 65 66 69 | 6e 65 20 6b 44 65 66 61 |.2.#defi|ne kDefa|
|00007390| 75 6c 74 53 69 7a 65 09 | 09 09 31 30 30 0a 0a 2f |ultSize.|..100../|
|000073a0| 2a 20 63 6f 70 79 20 6d | 6f 64 65 20 2a 2f 0a 23 |* copy m|ode */.#|
|000073b0| 64 65 66 69 6e 65 20 6b | 41 73 49 73 09 09 09 09 |define k|AsIs....|
|000073c0| 30 0a 23 64 65 66 69 6e | 65 20 6b 48 61 6c 66 09 |0.#defin|e kHalf.|
|000073d0| 09 09 09 31 0a 23 64 65 | 66 69 6e 65 20 6b 44 6f |...1.#de|fine kDo|
|000073e0| 75 62 6c 65 09 09 09 09 | 32 0a 0a 2f 2a 20 67 72 |uble....|2../* gr|
|000073f0| 61 62 20 66 72 61 6d 65 | 20 6d 6f 64 65 20 2a 2f |ab frame| mode */|
|00007400| 0a 23 64 65 66 69 6e 65 | 20 6b 4e 6f 46 72 61 6d |.#define| kNoFram|
|00007410| 65 73 09 09 09 30 0a 23 | 64 65 66 69 6e 65 20 6b |es...0.#|define k|
|00007420| 47 72 61 62 31 46 72 61 | 6d 65 09 09 09 31 0a 23 |Grab1Fra|me...1.#|
|00007430| 64 65 66 69 6e 65 20 6b | 47 72 61 62 32 46 72 61 |define k|Grab2Fra|
|00007440| 6d 65 73 09 09 09 32 0a | 0a 23 64 65 66 69 6e 65 |mes...2.|.#define|
|00007450| 20 56 45 52 53 49 4f 4e | 5f 4e 55 4d 09 20 20 20 | VERSION|_NUM. |
|00007460| 20 20 20 20 20 20 20 20 | 20 20 20 20 22 32 2e 33 | | "2.3|
|00007470| 30 42 31 22 0a 23 64 65 | 66 69 6e 65 20 4c 4f 47 |0B1".#de|fine LOG|
|00007480| 46 49 4c 45 20 20 20 20 | 20 20 20 20 20 20 20 20 |FILE | |
|00007490| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 22 72 65 | | "re|
|000074a0| 66 6c 65 63 74 2e 6c 6f | 67 22 0a 23 64 65 66 69 |flect.lo|g".#defi|
|000074b0| 6e 65 20 43 4f 4e 46 49 | 47 46 49 4c 45 09 09 09 |ne CONFI|GFILE...|
|000074c0| 22 72 65 66 6c 65 63 74 | 2e 63 6f 6e 66 22 0a 23 |"reflect|.conf".#|
|000074d0| 64 65 66 69 6e 65 20 44 | 45 4e 59 5f 41 43 43 45 |define D|ENY_ACCE|
|000074e0| 53 53 09 09 09 22 59 6f | 75 20 61 72 65 20 6e 6f |SS..."Yo|u are no|
|000074f0| 74 20 70 65 72 6d 69 74 | 74 65 64 20 61 63 63 65 |t permit|ted acce|
|00007500| 73 73 20 74 6f 20 74 68 | 69 73 20 72 65 66 6c 65 |ss to th|is refle|
|00007510| 63 74 6f 72 22 0a 0a 23 | 64 65 66 69 6e 65 20 56 |ctor"..#|define V|
|00007520| 49 44 5f 50 4f 52 54 20 | 09 09 09 37 36 34 38 0a |ID_PORT |...7648.|
|00007530| 23 64 65 66 69 6e 65 20 | 43 4f 4e 54 52 4f 4c 5f |#define |CONTROL_|
|00007540| 50 4f 52 54 20 09 09 09 | 37 36 34 39 20 20 20 0a |PORT ...|7649 .|
|00007550| 23 64 65 66 69 6e 65 20 | 4e 56 5f 50 4f 52 54 20 |#define |NV_PORT |
|00007560| 09 09 09 37 36 35 30 20 | 20 20 0a 23 64 65 66 69 |...7650 | .#defi|
|00007570| 6e 65 20 52 46 5f 50 4f | 52 54 20 09 09 09 37 36 |ne RF_PO|RT ...76|
|00007580| 35 31 20 20 20 0a 0a 0a | 23 64 65 66 69 6e 65 20 |51 ...|#define |
|00007590| 4d 41 58 4d 53 47 20 09 | 09 09 09 32 30 34 38 0a |MAXMSG .|...2048.|
|000075a0| 23 64 65 66 69 6e 65 20 | 4d 41 58 43 4c 49 45 4e |#define |MAXCLIEN|
|000075b0| 54 20 09 09 09 34 30 0a | 23 64 65 66 69 6e 65 20 |T ...40.|#define |
|000075c0| 4d 41 58 53 52 43 52 45 | 46 20 20 09 09 09 35 20 |MAXSRCRE|F ...5 |
|000075d0| 0a 0a 23 64 65 66 69 6e | 65 20 43 4f 4e 46 42 55 |..#defin|e CONFBU|
|000075e0| 46 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |F | |
|000075f0| 20 20 20 20 20 20 20 20 | 20 20 32 30 30 30 0a 23 | | 2000.#|
|00007600| 64 65 66 69 6e 65 20 4d | 4f 54 44 42 55 46 20 20 |define M|OTDBUF |
|00007610| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00007620| 20 20 20 20 20 20 20 38 | 30 30 0a 23 64 65 66 69 | 8|00.#defi|
|00007630| 6e 65 20 4d 53 47 42 55 | 46 20 20 20 20 20 20 20 |ne MSGBU|F |
|00007640| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00007650| 20 20 20 38 30 0a 0a 23 | 64 65 66 69 6e 65 20 56 | 80..#|define V|
|00007660| 49 44 45 4f 20 09 09 09 | 09 31 0a 23 64 65 66 69 |IDEO ...|.1.#defi|
|00007670| 6e 65 20 43 4f 4e 54 52 | 4f 4c 20 09 09 09 32 0a |ne CONTR|OL ...2.|
|00007680| 23 64 65 66 69 6e 65 20 | 52 45 46 31 56 49 44 45 |#define |REF1VIDE|
|00007690| 4f 20 09 09 09 33 0a 23 | 64 65 66 69 6e 65 20 52 |O ...3.#|define R|
|000076a0| 45 46 32 56 49 44 45 4f | 20 09 09 09 34 0a 23 64 |EF2VIDEO| ...4.#d|
|000076b0| 65 66 69 6e 65 20 4d 41 | 56 45 4e 09 09 09 09 35 |efine MA|VEN....5|
|000076c0| 0a 23 64 65 66 69 6e 65 | 20 4d 41 56 45 4e 5f 43 |.#define| MAVEN_C|
|000076d0| 4e 54 4c 09 09 09 36 0a | 0a 23 64 65 66 69 6e 65 |NTL...6.|.#define|
|000076e0| 20 41 43 4b 4f 50 45 4e | 20 09 09 09 33 0a 23 64 | ACKOPEN| ...3.#d|
|000076f0| 65 66 69 6e 65 20 54 49 | 4d 45 4f 55 54 20 09 09 |efine TI|MEOUT ..|
|00007700| 09 31 30 20 0a 23 64 65 | 66 69 6e 65 20 4b 41 4c |.10 .#de|fine KAL|
|00007710| 49 56 45 20 09 09 09 20 | 20 20 20 20 20 20 20 32 |IVE ... | 2|
|00007720| 20 0a 0a 23 64 65 66 69 | 6e 65 20 4d 48 45 41 44 | ..#defi|ne MHEAD|
|00007730| 45 52 4c 45 4e 20 20 20 | 20 20 20 20 20 20 20 20 |ERLEN | |
|00007740| 20 20 20 20 20 20 20 20 | 20 20 20 31 30 0a 23 64 | | 10.#d|
|00007750| 65 66 69 6e 65 20 4e 56 | 56 45 52 53 49 4f 4e 20 |efine NV|VERSION |
|00007760| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00007770| 20 20 20 20 20 20 30 78 | 34 30 0a 23 64 65 66 69 | 0x|40.#defi|
|00007780| 6e 65 20 4e 56 43 4f 4e | 54 45 4e 54 20 20 20 20 |ne NVCON|TENT |
|00007790| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000077a0| 20 20 20 32 37 0a 23 64 | 65 66 69 6e 65 20 4e 56 | 27.#d|efine NV|
|000077b0| 4f 42 49 54 20 20 20 20 | 20 20 20 20 20 20 20 20 |OBIT | |
|000077c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 30 78 | | 0x|
|000077d0| 38 30 0a 23 64 65 66 69 | 6e 65 20 4e 56 53 42 49 |80.#defi|ne NVSBI|
|000077e0| 54 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |T | |
|000077f0| 20 20 20 20 20 20 20 20 | 20 20 20 30 78 34 30 0a | | 0x40.|
|00007800| 23 64 65 66 69 6e 65 20 | 53 44 45 53 43 20 20 20 |#define |SDESC |
|00007810| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00007820| 20 20 20 20 20 20 20 20 | 33 33 20 0a 23 64 65 66 | |33 .#def|
|00007830| 69 6e 65 20 46 49 4e 41 | 4c 20 20 20 20 20 20 20 |ine FINA|L |
|00007840| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00007850| 20 20 20 20 30 78 38 30 | 20 0a 0a 23 69 66 6e 64 | 0x80| ..#ifnd|
|00007860| 65 66 20 54 52 55 45 0a | 23 64 65 66 69 6e 65 20 |ef TRUE.|#define |
|00007870| 54 52 55 45 20 31 0a 23 | 65 6e 64 69 66 0a 0a 23 |TRUE 1.#|endif..#|
|00007880| 69 66 6e 64 65 66 20 46 | 41 4c 53 45 0a 23 64 65 |ifndef F|ALSE.#de|
|00007890| 66 69 6e 65 20 46 41 4c | 53 45 20 30 0a 23 65 6e |fine FAL|SE 0.#en|
|000078a0| 64 69 66 0a 0a 0a 74 79 | 70 65 64 65 66 20 73 74 |dif...ty|pedef st|
|000078b0| 72 75 63 74 20 50 61 63 | 6b 65 74 4c 6f 73 73 44 |ruct Pac|ketLossD|
|000078c0| 61 74 61 20 0a 7b 0a 20 | 20 20 20 75 6e 73 69 67 |ata .{. | unsig|
|000078d0| 6e 65 64 20 73 68 6f 72 | 74 20 20 70 61 63 6b 65 |ned shor|t packe|
|000078e0| 74 73 53 65 6e 74 3b 0a | 20 20 20 20 75 6e 73 69 |tsSent;.| unsi|
|000078f0| 67 6e 65 64 20 73 68 6f | 72 74 20 20 70 61 63 6b |gned sho|rt pack|
|00007900| 65 74 73 52 65 63 76 3b | 0a 7d 20 50 61 63 6b 65 |etsRecv;|.} Packe|
|00007910| 74 4c 6f 73 73 44 61 74 | 61 3b 0a 0a 0a 74 79 70 |tLossDat|a;...typ|
|00007920| 65 64 65 66 20 73 74 72 | 75 63 74 20 61 64 64 72 |edef str|uct addr|
|00007930| 0a 7b 0a 20 20 20 20 73 | 68 6f 72 74 20 20 20 20 |.{. s|hort |
|00007940| 20 20 20 20 20 20 20 66 | 61 6d 69 6c 79 3b 20 20 | f|amily; |
|00007950| 20 20 20 20 20 20 0a 20 | 20 20 20 75 6e 73 69 67 | . | unsig|
|00007960| 6e 65 64 20 73 68 6f 72 | 74 20 20 70 6f 72 74 3b |ned shor|t port;|
|00007970| 0a 20 20 20 20 75 6e 73 | 69 67 6e 65 64 20 6c 6f |. uns|igned lo|
|00007980| 6e 67 20 20 20 61 64 64 | 72 3b 0a 7d 20 61 64 64 |ng add|r;.} add|
|00007990| 72 3b 0a 0a 74 79 70 65 | 64 65 66 20 73 74 72 75 |r;..type|def stru|
|000079a0| 63 74 20 52 6f 75 74 69 | 6e 67 20 7b 0a 20 20 20 |ct Routi|ng {. |
|000079b0| 20 61 64 64 72 20 20 20 | 20 20 20 20 20 20 20 20 | addr | |
|000079c0| 20 64 65 73 74 3b 0a 20 | 20 20 20 61 64 64 72 20 | dest;. | addr |
|000079d0| 20 20 20 20 20 20 20 20 | 20 20 20 73 72 63 3b 0a | | src;.|
|000079e0| 7d 20 52 6f 75 74 69 6e | 67 3b 0a 0a 74 79 70 65 |} Routin|g;..type|
|000079f0| 64 65 66 20 73 74 72 75 | 63 74 20 56 69 64 65 6f |def stru|ct Video|
|00007a00| 50 61 63 6b 65 74 48 65 | 61 64 65 72 20 7b 0a 20 |PacketHe|ader {. |
|00007a10| 20 20 20 52 6f 75 74 69 | 6e 67 20 20 20 20 20 20 | Routi|ng |
|00007a20| 20 20 20 72 6f 75 74 69 | 6e 67 3b 20 20 20 20 20 | routi|ng; |
|00007a30| 20 20 20 20 20 20 2f 2a | 20 31 36 20 62 79 74 65 | /*| 16 byte|
|00007a40| 20 73 6f 63 6b 65 74 20 | 68 65 61 64 65 72 20 66 | socket |header f|
|00007a50| 6f 72 20 65 78 70 6c 6f | 64 65 72 20 2a 2f 0a 20 |or explo|der */. |
|00007a60| 20 20 20 75 6e 73 69 67 | 6e 65 64 20 6c 6f 6e 67 | unsig|ned long|
|00007a70| 20 20 20 73 65 71 4e 75 | 6d 3b 0a 20 20 20 20 73 | seqNu|m;. s|
|00007a80| 68 6f 72 74 20 20 20 20 | 20 20 20 20 20 20 20 6d |hort | m|
|00007a90| 65 73 73 61 67 65 3b 0a | 20 20 20 20 73 68 6f 72 |essage;.| shor|
|00007aa0| 74 20 20 20 20 20 20 20 | 20 20 20 20 64 61 74 61 |t | data|
|00007ab0| 54 79 70 65 3b 0a 20 20 | 20 20 73 68 6f 72 74 20 |Type;. | short |
|00007ac0| 20 20 20 20 20 20 20 20 | 20 20 6c 65 6e 3b 0a 7d | | len;.}|
|00007ad0| 20 56 69 64 65 6f 50 61 | 63 6b 65 74 48 65 61 64 | VideoPa|cketHead|
|00007ae0| 65 72 3b 0a 0a 23 64 65 | 66 69 6e 65 20 48 45 41 |er;..#de|fine HEA|
|00007af0| 44 45 52 4c 45 4e 20 32 | 36 0a 0a 23 64 65 66 69 |DERLEN 2|6..#defi|
|00007b00| 6e 65 20 63 6f 6e 66 65 | 72 65 6e 63 65 69 64 20 |ne confe|renceid |
|00007b10| 72 6f 75 74 69 6e 67 2e | 64 65 73 74 2e 70 6f 72 |routing.|dest.por|
|00007b20| 74 0a 0a 74 79 70 65 64 | 65 66 20 73 74 72 75 63 |t..typed|ef struc|
|00007b30| 74 20 4f 70 65 6e 43 6f | 6e 74 69 6e 75 65 44 61 |t OpenCo|ntinueDa|
|00007b40| 74 61 20 0a 7b 0a 20 20 | 20 20 20 20 20 20 73 68 |ta .{. | sh|
|00007b50| 6f 72 74 09 09 09 63 6c | 69 65 6e 74 43 6f 75 6e |ort...cl|ientCoun|
|00007b60| 74 3b 0a 20 20 20 20 20 | 20 20 20 75 6e 73 69 67 |t;. | unsig|
|00007b70| 6e 65 64 20 6c 6f 6e 67 | 09 09 73 65 71 4e 75 6d |ned long|..seqNum|
|00007b80| 3b 0a 20 20 20 20 20 20 | 20 20 63 68 61 72 09 09 |;. | char..|
|00007b90| 09 6e 61 6d 65 5b 32 30 | 5d 3b 0a 20 20 20 20 20 |.name[20|];. |
|00007ba0| 20 20 20 75 6e 73 69 67 | 6e 65 64 20 63 68 61 72 | unsig|ned char|
|00007bb0| 09 09 73 65 6e 64 4d 6f | 64 65 3b 0a 20 20 20 20 |..sendMo|de;. |
|00007bc0| 20 20 20 20 75 6e 73 69 | 67 6e 65 64 20 63 68 61 | unsi|gned cha|
|00007bd0| 72 09 09 72 65 63 76 4d | 6f 64 65 3b 0a 20 20 20 |r..recvM|ode;. |
|00007be0| 20 20 20 20 20 75 6e 73 | 69 67 6e 65 64 20 63 68 | uns|igned ch|
|00007bf0| 61 72 09 09 66 6c 61 67 | 73 3b 0a 20 20 20 20 20 |ar..flag|s;. |
|00007c00| 20 20 20 75 6e 73 69 67 | 6e 65 64 20 63 68 61 72 | unsig|ned char|
|00007c10| 09 09 76 65 72 73 69 6f | 6e 3b 0a 2f 2a 20 20 0a |..versio|n;./* .|
|00007c20| 09 43 6c 69 65 6e 74 49 | 6e 66 6f 09 09 63 6c 69 |.ClientI|nfo..cli|
|00007c30| 65 6e 74 73 5b 63 6c 69 | 65 6e 74 43 6f 75 6e 74 |ents[cli|entCount|
|00007c40| 5d 20 0a 2a 2f 0a 7d 20 | 4f 70 65 6e 43 6f 6e 74 |] .*/.} |OpenCont|
|00007c50| 69 6e 75 65 44 61 74 61 | 3b 0a 0a 0a 23 64 65 66 |inueData|;...#def|
|00007c60| 69 6e 65 20 52 45 43 5f | 41 55 44 49 4f 09 09 30 |ine REC_|AUDIO..0|
|00007c70| 78 30 31 0a 23 64 65 66 | 69 6e 65 20 41 55 44 49 |x01.#def|ine AUDI|
|00007c80| 4f 5f 43 41 50 41 42 4c | 45 09 09 30 78 30 32 0a |O_CAPABL|E..0x02.|
|00007c90| 23 64 65 66 69 6e 65 20 | 57 41 4e 54 5f 4c 55 52 |#define |WANT_LUR|
|00007ca0| 43 4b 45 52 53 09 09 30 | 78 30 34 0a 23 64 65 66 |CKERS..0|x04.#def|
|00007cb0| 69 6e 65 20 50 43 5f 43 | 4c 49 45 4e 54 09 09 30 |ine PC_C|LIENT..0|
|00007cc0| 78 30 38 0a 0a 23 64 65 | 66 69 6e 65 20 56 45 52 |x08..#de|fine VER|
|00007cd0| 53 49 4f 4e 31 20 20 20 | 20 20 20 20 20 20 20 20 |SION1 | |
|00007ce0| 20 20 20 20 20 31 0a 23 | 64 65 66 69 6e 65 20 56 | 1.#|define V|
|00007cf0| 45 52 53 49 4f 4e 35 20 | 20 20 20 20 20 20 20 20 |ERSION5 | |
|00007d00| 20 20 20 20 20 20 20 35 | 0a 0a 74 79 70 65 64 65 | 5|..typede|
|00007d10| 66 20 73 74 72 75 63 74 | 20 43 6c 69 65 6e 74 49 |f struct| ClientI|
|00007d20| 6e 66 6f 20 0a 7b 0a 20 | 20 20 20 20 20 20 20 75 |nfo .{. | u|
|00007d30| 6e 73 69 67 6e 65 64 20 | 6c 6f 6e 67 09 09 63 6c |nsigned |long..cl|
|00007d40| 69 65 6e 74 49 50 3b 0a | 20 20 20 20 20 20 20 20 |ientIP;.| |
|00007d50| 63 68 61 72 09 09 09 66 | 6c 61 67 73 3b 0a 20 20 |char...f|lags;. |
|00007d60| 20 20 20 20 20 20 63 68 | 61 72 09 09 09 6e 61 3b | ch|ar...na;|
|00007d70| 0a 20 20 20 20 20 20 20 | 20 63 68 61 72 09 09 09 |. | char...|
|00007d80| 49 57 69 6c 6c 52 65 63 | 76 3b 0a 20 20 20 20 20 |IWillRec|v;. |
|00007d90| 20 20 20 63 68 61 72 09 | 09 09 49 57 69 6c 6c 53 | char.|..IWillS|
|00007da0| 65 6e 64 3b 0a 20 20 20 | 20 20 20 20 20 50 61 63 |end;. | Pac|
|00007db0| 6b 65 74 4c 6f 73 73 44 | 61 74 61 09 09 6c 6f 73 |ketLossD|ata..los|
|00007dc0| 73 3b 0a 7d 20 43 6c 69 | 65 6e 74 49 6e 66 6f 3b |s;.} Cli|entInfo;|
|00007dd0| 0a 0a 23 64 65 66 69 6e | 65 20 55 50 44 41 54 45 |..#defin|e UPDATE|
|00007de0| 5f 56 49 44 45 4f 20 20 | 30 78 30 31 0a 23 64 65 |_VIDEO |0x01.#de|
|00007df0| 66 69 6e 65 20 55 50 44 | 41 54 45 5f 41 55 44 49 |fine UPD|ATE_AUDI|
|00007e00| 4f 20 20 30 78 30 32 0a | 23 64 65 66 69 6e 65 20 |O 0x02.|#define |
|00007e10| 49 57 69 6c 6c 52 65 63 | 41 75 64 69 6f 20 30 78 |IWillRec|Audio 0x|
|00007e20| 30 34 0a 0a 74 79 70 65 | 64 65 66 20 73 74 72 75 |04..type|def stru|
|00007e30| 63 74 20 4f 70 65 6e 43 | 6f 6e 74 69 6e 75 65 50 |ct OpenC|ontinueP|
|00007e40| 61 63 6b 65 74 20 0a 7b | 0a 20 20 20 20 20 20 20 |acket .{|. |
|00007e50| 20 56 69 64 65 6f 50 61 | 63 6b 65 74 48 65 61 64 | VideoPa|cketHead|
|00007e60| 65 72 09 68 65 61 64 65 | 72 3b 0a 20 20 20 20 20 |er.heade|r;. |
|00007e70| 20 20 20 4f 70 65 6e 43 | 6f 6e 74 69 6e 75 65 44 | OpenC|ontinueD|
|00007e80| 61 74 61 09 63 6f 6e 66 | 69 67 3b 0a 7d 20 4f 70 |ata.conf|ig;.} Op|
|00007e90| 65 6e 43 6f 6e 74 69 6e | 75 65 50 61 63 6b 65 74 |enContin|uePacket|
|00007ea0| 3b 0a 0a 74 79 70 65 64 | 65 66 20 73 74 72 75 63 |;..typed|ef struc|
|00007eb0| 74 20 43 6f 6e 74 72 6f | 6c 50 61 63 6b 65 74 20 |t Contro|lPacket |
|00007ec0| 0a 7b 0a 20 20 20 20 56 | 69 64 65 6f 50 61 63 6b |.{. V|ideoPack|
|00007ed0| 65 74 48 65 61 64 65 72 | 20 20 20 68 65 61 64 65 |etHeader| heade|
|00007ee0| 72 3b 0a 7d 20 43 6f 6e | 74 72 6f 6c 50 61 63 6b |r;.} Con|trolPack|
|00007ef0| 65 74 3b 0a 0a 74 79 70 | 65 64 65 66 20 73 74 72 |et;..typ|edef str|
|00007f00| 75 63 74 20 73 6c 69 73 | 74 0a 7b 0a 20 20 20 73 |uct slis|t.{. s|
|00007f10| 74 72 75 63 74 20 73 6c | 69 73 74 20 20 20 20 2a |truct sl|ist *|
|00007f20| 73 6e 64 5f 6e 70 74 72 | 3b 0a 20 20 20 73 74 72 |snd_nptr|;. str|
|00007f30| 75 63 74 20 63 6c 69 65 | 6e 74 20 20 20 2a 73 6e |uct clie|nt *sn|
|00007f40| 64 5f 63 6c 69 65 6e 74 | 3b 0a 7d 20 73 6c 69 73 |d_client|;.} slis|
|00007f50| 74 3b 0a 0a 74 79 70 65 | 64 65 66 20 73 74 72 75 |t;..type|def stru|
|00007f60| 63 74 20 63 6c 69 65 6e | 74 20 0a 7b 0a 20 20 20 |ct clien|t .{. |
|00007f70| 20 73 74 72 75 63 74 20 | 63 6c 69 65 6e 74 20 20 | struct |client |
|00007f80| 20 20 20 2a 63 6c 6e 74 | 5f 6e 70 74 72 3b 20 20 | *clnt|_nptr; |
|00007f90| 20 20 20 20 20 20 20 20 | 20 2f 2a 20 6e 65 78 74 | | /* next|
|00007fa0| 20 63 6c 69 65 6e 74 20 | 20 20 20 20 20 20 20 20 | client | |
|00007fb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00007fc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 2a | | *|
|00007fd0| 2f 0a 20 20 20 20 73 74 | 72 75 63 74 20 63 6c 69 |/. st|ruct cli|
|00007fe0| 65 6e 74 20 20 20 20 20 | 2a 63 6c 6e 74 5f 70 70 |ent |*clnt_pp|
|00007ff0| 74 72 3b 20 20 20 20 20 | 20 20 20 20 20 20 2f 2a |tr; | /*|
|00008000| 20 70 74 72 20 74 6f 20 | 52 45 46 33 5f 53 4f 55 | ptr to |REF3_SOU|
|00008010| 52 43 45 20 69 66 20 74 | 68 69 73 20 63 6c 69 65 |RCE if t|his clie|
|00008020| 6e 74 20 69 73 20 61 20 | 52 45 46 33 5f 4f 52 49 |nt is a |REF3_ORI|
|00008030| 47 49 4e 20 2a 2f 0a 20 | 20 20 20 61 64 64 72 20 |GIN */. | addr |
|00008040| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 63 6c 6e | | cln|
|00008050| 74 5f 61 64 64 72 3b 20 | 20 20 20 20 20 20 20 20 |t_addr; | |
|00008060| 20 20 20 2f 2a 20 63 6c | 69 65 6e 74 27 73 20 61 | /* cl|ient's a|
|00008070| 64 64 72 65 73 73 20 20 | 20 20 20 20 20 20 20 20 |ddress | |
|00008080| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00008090| 20 20 20 20 20 20 20 20 | 20 2a 2f 0a 20 20 20 20 | | */. |
|000080a0| 73 6c 69 73 74 20 20 20 | 20 20 20 20 20 20 20 20 |slist | |
|000080b0| 20 20 2a 63 6c 6e 74 5f | 76 6c 69 73 74 3b 20 20 | *clnt_|vlist; |
|000080c0| 20 20 20 20 20 20 20 20 | 2f 2a 20 6c 69 73 74 20 | |/* list |
|000080d0| 6f 66 20 63 6c 69 65 6e | 74 73 20 72 65 63 65 69 |of clien|ts recei|
|000080e0| 76 69 6e 67 20 76 69 64 | 65 6f 20 20 20 20 20 20 |ving vid|eo |
|000080f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 2a 2f | | */|
|00008100| 0a 20 20 20 20 73 6c 69 | 73 74 20 20 20 20 20 20 |. sli|st |
|00008110| 20 20 20 20 20 20 20 2a | 63 6c 6e 74 5f 61 6c 69 | *|clnt_ali|
|00008120| 73 74 3b 20 20 20 20 20 | 20 20 20 20 20 2f 2a 20 |st; | /* |
|00008130| 6c 69 73 74 20 6f 66 20 | 63 6c 69 65 6e 74 73 20 |list of |clients |
|00008140| 72 65 63 65 69 76 69 6e | 67 20 61 75 64 69 6f 20 |receivin|g audio |
|00008150| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00008160| 20 20 20 2a 2f 0a 20 20 | 20 20 73 68 6f 72 74 20 | */. | short |
|00008170| 20 20 20 20 20 20 20 20 | 20 20 20 20 63 6c 6e 74 | | clnt|
|00008180| 5f 72 74 69 6d 65 72 3b | 20 20 20 20 20 20 20 20 |_rtimer;| |
|00008190| 20 20 2f 2a 20 63 6c 69 | 65 6e 74 27 73 20 72 65 | /* cli|ent's re|
|000081a0| 63 69 65 76 65 20 74 69 | 6d 65 72 20 20 20 20 20 |cieve ti|mer |
|000081b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000081c0| 20 20 20 20 20 20 20 20 | 2a 2f 0a 20 20 20 20 73 | |*/. s|
|000081d0| 68 6f 72 74 20 20 20 20 | 20 20 20 20 20 20 20 20 |hort | |
|000081e0| 20 63 6c 6e 74 5f 73 74 | 69 6d 65 72 3b 20 20 20 | clnt_st|imer; |
|000081f0| 20 20 20 20 20 20 20 2f | 2a 20 63 6c 69 65 6e 74 | /|* client|
|00008200| 27 73 20 73 65 6e 64 20 | 74 69 6d 65 72 20 20 20 |'s send |timer |
|00008210| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00008220| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 2a 2f 0a | | */.|
|00008230| 20 20 20 20 73 68 6f 72 | 74 20 20 20 20 20 20 20 | shor|t |
|00008240| 20 20 20 20 20 20 63 6c | 6e 74 5f 69 64 3b 09 09 | cl|nt_id;..|
|00008250| 20 20 20 20 2f 2a 20 63 | 6c 69 65 6e 74 27 73 20 | /* c|lient's |
|00008260| 69 64 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |id | |
|00008270| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00008280| 20 20 20 20 20 20 20 20 | 20 20 2a 2f 09 0a 20 20 | | */.. |
|00008290| 20 20 73 68 6f 72 74 20 | 20 20 20 20 20 20 20 20 | short | |
|000082a0| 20 20 20 20 63 6c 6e 74 | 5f 74 61 6c 6b 65 72 3b | clnt|_talker;|
|000082b0| 20 20 20 20 20 20 20 20 | 20 20 2f 2a 20 63 6e 74 | | /* cnt|
|000082c0| 20 6f 66 20 61 75 64 69 | 6f 20 70 6b 74 73 20 72 | of audi|o pkts r|
|000082d0| 65 63 27 65 64 20 2d 20 | 75 73 65 64 20 66 6f 72 |ec'ed - |used for|
|000082e0| 20 6c 6f 67 67 69 6e 67 | 20 63 75 72 72 65 6e 74 | logging| current|
|000082f0| 20 73 70 65 61 6b 65 72 | 20 2a 2f 0a 20 20 20 20 | speaker| */. |
|00008300| 75 6e 73 69 67 6e 65 64 | 20 73 68 6f 72 74 20 20 |unsigned| short |
|00008310| 20 20 63 6c 6e 74 5f 63 | 6f 6e 66 5f 69 64 3b 20 | clnt_c|onf_id; |
|00008320| 20 20 20 20 20 20 20 20 | 2f 2a 20 63 6f 6e 66 65 | |/* confe|
|00008330| 72 65 6e 63 65 20 69 64 | 20 74 68 65 20 63 6c 69 |rence id| the cli|
|00008340| 65 6e 74 20 63 6f 6e 6e | 65 63 74 65 64 20 77 69 |ent conn|ected wi|
|00008350| 74 68 20 20 20 20 20 20 | 20 20 20 20 20 20 2a 2f |th | */|
|00008360| 0a 20 20 20 20 75 6e 73 | 69 67 6e 65 64 20 6c 6f |. uns|igned lo|
|00008370| 6e 67 20 20 20 20 20 63 | 6c 6e 74 5f 66 6c 61 67 |ng c|lnt_flag|
|00008380| 73 3b 20 20 20 20 20 20 | 20 20 20 20 20 2f 2a 20 |s; | /* |
|00008390| 66 6c 61 67 73 20 20 20 | 20 20 20 20 20 20 20 20 |flags | |
|000083a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000083b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000083c0| 20 20 20 2a 2f 0a 20 20 | 20 20 4f 70 65 6e 43 6f | */. | OpenCo|
|000083d0| 6e 74 69 6e 75 65 44 61 | 74 61 20 20 63 6c 6e 74 |ntinueDa|ta clnt|
|000083e0| 5f 63 6f 6e 66 69 67 3b | 20 20 20 20 20 20 20 20 |_config;| |
|000083f0| 20 20 2f 2a 20 63 6c 69 | 65 6e 74 27 73 20 63 6f | /* cli|ent's co|
|00008400| 6e 66 69 67 75 72 61 74 | 69 6f 6e 20 20 20 20 20 |nfigurat|ion |
|00008410| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00008420| 20 20 20 20 20 20 20 20 | 2a 2f 0a 7d 20 63 6c 69 | |*/.} cli|
|00008430| 65 6e 74 3b 0a 0a 23 64 | 65 66 69 6e 65 20 43 4c |ent;..#d|efine CL|
|00008440| 49 45 4e 54 20 20 20 20 | 20 20 20 20 30 78 30 30 |IENT | 0x00|
|00008450| 30 31 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |01 | |
|00008460| 20 20 2f 2a 20 6e 6f 72 | 6d 61 6c 20 4d 61 63 2f | /* nor|mal Mac/|
|00008470| 50 43 20 63 6c 69 65 6e | 74 20 20 20 20 20 20 20 |PC clien|t |
|00008480| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00008490| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 2a | | *|
|000084a0| 2f 0a 0a 23 64 65 66 69 | 6e 65 20 42 43 43 5f 43 |/..#defi|ne BCC_C|
|000084b0| 4c 49 45 4e 54 20 20 20 | 20 30 78 30 30 30 32 20 |LIENT | 0x0002 |
|000084c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 2f | | /|
|000084d0| 2a 20 61 6e 6f 74 68 65 | 72 20 72 65 66 6c 65 63 |* anothe|r reflec|
|000084e0| 74 6f 72 20 73 65 72 76 | 69 6e 67 20 61 73 20 61 |tor serv|ing as a|
|000084f0| 20 42 43 43 20 63 6c 69 | 65 6e 74 20 20 20 20 20 | BCC cli|ent |
|00008500| 20 20 20 20 20 20 20 20 | 20 20 20 20 2a 2f 0a 23 | | */.#|
|00008510| 64 65 66 69 6e 65 20 42 | 43 43 5f 4f 52 49 47 49 |define B|CC_ORIGI|
|00008520| 4e 20 20 20 20 30 78 30 | 30 30 34 20 20 20 20 20 |N 0x0|004 |
|00008530| 20 20 20 20 20 20 20 20 | 20 20 20 2f 2a 20 74 68 | | /* th|
|00008540| 69 73 20 63 6c 69 65 6e | 74 20 6f 72 69 67 69 6e |is clien|t origin|
|00008550| 61 74 65 73 20 66 72 6f | 6d 20 61 20 42 43 43 20 |ates fro|m a BCC |
|00008560| 73 65 72 76 65 72 20 72 | 65 66 6c 65 63 74 6f 72 |server r|eflector|
|00008570| 20 20 20 20 20 20 20 20 | 2a 2f 0a 23 64 65 66 69 | |*/.#defi|
|00008580| 6e 65 20 42 43 43 5f 53 | 45 52 56 45 52 20 20 20 |ne BCC_S|ERVER |
|00008590| 20 30 78 30 30 30 38 20 | 20 20 20 20 20 20 20 20 | 0x0008 | |
|000085a0| 20 20 20 20 20 20 20 2f | 2a 20 61 6e 6f 74 68 65 | /|* anothe|
|000085b0| 72 20 72 65 66 6c 65 63 | 74 6f 72 20 73 65 72 76 |r reflec|tor serv|
|000085c0| 69 6e 67 20 61 73 20 61 | 20 42 43 43 20 73 65 72 |ing as a| BCC ser|
|000085d0| 76 65 72 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ver | |
|000085e0| 20 20 20 20 2a 2f 0a 0a | 23 64 65 66 69 6e 65 20 | */..|#define |
|000085f0| 52 45 46 31 5f 53 45 52 | 56 45 52 20 20 20 30 78 |REF1_SER|VER 0x|
|00008600| 30 30 31 30 20 20 20 20 | 20 20 20 20 20 20 20 20 |0010 | |
|00008610| 20 20 20 20 2f 2a 20 61 | 6e 6f 74 68 65 72 20 72 | /* a|nother r|
|00008620| 65 66 6c 65 63 74 6f 72 | 20 73 65 72 76 69 6e 67 |eflector| serving|
|00008630| 20 61 73 20 61 20 6d 75 | 6c 74 69 63 61 73 74 20 | as a mu|lticast |
|00008640| 73 6f 75 72 63 65 20 20 | 20 20 20 20 20 20 20 20 |source | |
|00008650| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 52 45 46 31 | */.#def|ine REF1|
|00008660| 5f 4f 52 49 47 49 4e 20 | 20 20 30 78 30 30 32 30 |_ORIGIN | 0x0020|
|00008670| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00008680| 2f 2a 20 74 68 69 73 20 | 63 6c 69 65 6e 74 20 6f |/* this |client o|
|00008690| 72 69 67 69 6e 61 74 65 | 73 20 66 72 6f 6d 20 6d |riginate|s from m|
|000086a0| 75 6c 74 69 63 61 73 74 | 20 73 6f 75 72 63 65 20 |ulticast| source |
|000086b0| 72 65 66 6c 65 63 74 6f | 72 20 28 6f 6e 65 20 77 |reflecto|r (one w|
|000086c0| 61 79 29 20 20 20 20 2a | 2f 0a 23 64 65 66 69 6e |ay) *|/.#defin|
|000086d0| 65 20 52 45 46 31 5f 43 | 4c 49 45 4e 54 20 20 20 |e REF1_C|LIENT |
|000086e0| 30 78 30 30 34 30 20 20 | 20 20 20 20 20 20 20 20 |0x0040 | |
|000086f0| 20 20 20 20 20 20 2f 2a | 20 61 6e 6f 74 68 65 72 | /*| another|
|00008700| 20 72 65 66 6c 65 63 74 | 6f 72 20 73 65 72 76 69 | reflect|or servi|
|00008710| 6e 67 20 61 73 20 61 20 | 6d 75 6c 74 69 63 61 73 |ng as a |multicas|
|00008720| 74 20 72 65 63 69 70 69 | 65 6e 74 20 20 20 20 20 |t recipi|ent |
|00008730| 20 20 20 2a 2f 0a 0a 0a | 23 64 65 66 69 6e 65 20 | */...|#define |
|00008740| 52 45 46 32 5f 53 45 52 | 56 45 52 20 20 20 30 78 |REF2_SER|VER 0x|
|00008750| 30 30 38 30 20 20 20 20 | 20 20 20 20 20 20 20 20 |0080 | |
|00008760| 20 20 20 20 2f 2a 20 61 | 6e 6f 74 68 65 72 20 72 | /* a|nother r|
|00008770| 65 66 6c 65 63 74 6f 72 | 20 70 61 72 74 69 63 69 |eflector| partici|
|00008780| 70 61 74 69 6e 67 20 69 | 6e 20 61 20 32 77 61 79 |pating i|n a 2way|
|00008790| 20 6d 63 61 73 74 20 20 | 20 20 20 20 20 20 20 20 | mcast | |
|000087a0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 52 45 46 32 | */.#def|ine REF2|
|000087b0| 5f 4f 52 49 47 49 4e 20 | 20 20 30 78 30 31 30 30 |_ORIGIN | 0x0100|
|000087c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000087d0| 2f 2a 20 74 68 69 73 20 | 63 6c 69 65 6e 74 20 6f |/* this |client o|
|000087e0| 72 69 67 69 6e 61 74 65 | 73 20 66 72 6f 6d 20 6d |riginate|s from m|
|000087f0| 75 6c 74 69 63 61 73 74 | 20 67 72 6f 75 70 20 20 |ulticast| group |
|00008800| 72 65 66 6c 65 63 74 6f | 72 20 28 74 77 6f 20 77 |reflecto|r (two w|
|00008810| 61 79 29 20 20 20 20 2a | 2f 0a 0a 23 64 65 66 69 |ay) *|/..#defi|
|00008820| 6e 65 20 53 55 53 50 45 | 4e 44 20 20 20 20 20 20 |ne SUSPE|ND |
|00008830| 20 30 78 30 32 30 30 20 | 20 20 20 20 20 20 20 20 | 0x0200 | |
|00008840| 20 20 20 20 20 20 20 2f | 2a 20 74 68 69 73 20 63 | /|* this c|
|00008850| 6c 69 65 6e 74 20 69 73 | 20 73 75 73 70 65 6e 64 |lient is| suspend|
|00008860| 65 64 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ed | |
|00008870| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00008880| 20 20 20 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 44 | */.#|define D|
|00008890| 45 4c 45 54 45 20 20 20 | 20 20 20 20 20 30 78 30 |ELETE | 0x0|
|000088a0| 34 30 30 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |400 | |
|000088b0| 20 20 20 2f 2a 20 74 68 | 69 73 20 63 6c 69 65 6e | /* th|is clien|
|000088c0| 74 20 69 73 20 64 65 6c | 65 74 65 64 20 20 20 20 |t is del|eted |
|000088d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000088e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000088f0| 2a 2f 0a 0a 23 64 65 66 | 69 6e 65 20 52 45 46 33 |*/..#def|ine REF3|
|00008900| 5f 53 45 52 56 45 52 20 | 20 20 30 78 30 38 30 30 |_SERVER | 0x0800|
|00008910| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00008920| 2f 2a 20 61 6e 6f 74 68 | 65 72 20 72 65 66 6c 65 |/* anoth|er refle|
|00008930| 63 74 6f 72 20 70 61 72 | 74 69 63 69 70 61 74 69 |ctor par|ticipati|
|00008940| 6e 67 20 69 6e 20 61 20 | 32 77 61 79 20 75 63 61 |ng in a |2way uca|
|00008950| 73 74 20 20 20 20 20 20 | 20 20 20 20 20 2a 2f 0a |st | */.|
|00008960| 23 64 65 66 69 6e 65 20 | 52 45 46 33 5f 4f 52 49 |#define |REF3_ORI|
|00008970| 47 49 4e 20 20 20 30 78 | 31 30 30 30 20 20 20 20 |GIN 0x|1000 |
|00008980| 20 20 20 20 20 20 20 20 | 20 20 20 20 2f 2a 20 74 | | /* t|
|00008990| 68 69 73 20 63 6c 69 65 | 6e 74 20 6f 72 69 67 69 |his clie|nt origi|
|000089a0| 6e 61 74 65 73 20 66 72 | 6f 6d 20 75 6e 69 63 61 |nates fr|om unica|
|000089b0| 74 20 67 72 6f 75 70 20 | 72 65 66 6c 65 63 74 6f |t group |reflecto|
|000089c0| 72 20 28 74 77 6f 20 77 | 61 79 29 20 20 20 20 2a |r (two w|ay) *|
|000089d0| 2f 0a 0a 74 79 70 65 64 | 65 66 20 73 74 72 75 63 |/..typed|ef struc|
|000089e0| 74 20 6d 61 76 65 6e 5f | 63 6c 69 65 6e 74 20 0a |t maven_|client .|
|000089f0| 7b 0a 0a 20 20 20 20 73 | 74 72 75 63 74 20 6d 61 |{.. s|truct ma|
|00008a00| 76 65 6e 5f 63 6c 69 65 | 6e 74 20 20 20 2a 6d 76 |ven_clie|nt *mv|
|00008a10| 6e 5f 6e 70 74 72 3b 20 | 20 20 20 20 20 20 20 20 |n_nptr; | |
|00008a20| 20 20 2f 2a 20 6e 65 78 | 74 20 63 6c 69 65 6e 74 | /* nex|t client|
|00008a30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 2a | | *|
|00008a40| 2f 0a 20 20 20 20 61 64 | 64 72 20 20 20 20 20 20 |/. ad|dr |
|00008a50| 20 20 20 20 20 20 20 20 | 20 20 20 20 6d 76 6e 5f | | mvn_|
|00008a60| 61 64 64 72 3b 20 20 20 | 20 20 20 20 20 20 20 20 |addr; | |
|00008a70| 20 2f 2a 20 63 6c 69 65 | 6e 74 27 73 20 61 64 64 | /* clie|nt's add|
|00008a80| 72 65 73 73 20 20 20 20 | 20 20 20 20 20 20 2a 2f |ress | */|
|00008a90| 0a 20 20 20 20 75 6e 73 | 69 67 6e 65 64 20 6c 6f |. uns|igned lo|
|00008aa0| 6e 67 20 20 20 20 20 20 | 20 20 20 6d 76 6e 5f 73 |ng | mvn_s|
|00008ab0| 65 71 3b 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |eq; | |
|00008ac0| 2f 2a 20 73 65 71 75 65 | 6e 63 65 20 23 20 20 20 |/* seque|nce # |
|00008ad0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 2a 2f 0a | | */.|
|00008ae0| 20 20 20 20 73 68 6f 72 | 74 20 20 20 20 20 20 20 | shor|t |
|00008af0| 20 20 20 20 20 20 20 20 | 20 20 6d 76 6e 5f 72 74 | | mvn_rt|
|00008b00| 69 6d 65 72 3b 20 20 20 | 20 20 20 20 20 20 20 2f |imer; | /|
|00008b10| 2a 20 63 6c 69 65 6e 74 | 27 73 20 72 65 63 69 65 |* client|'s recie|
|00008b20| 76 65 20 74 69 6d 65 72 | 20 20 20 20 2a 2f 0a 20 |ve timer| */. |
|00008b30| 20 20 20 73 68 6f 72 74 | 20 20 20 20 20 20 20 20 | short| |
|00008b40| 20 20 20 20 20 20 20 20 | 20 6d 76 6e 5f 74 61 6c | | mvn_tal|
|00008b50| 6b 65 72 3b 20 20 20 20 | 20 20 20 20 20 20 2f 2a |ker; | /*|
|00008b60| 20 63 6e 74 20 6f 66 20 | 61 75 64 69 6f 20 70 6b | cnt of |audio pk|
|00008b70| 74 73 20 72 65 63 27 65 | 64 20 2d 20 75 73 65 64 |ts rec'e|d - used|
|00008b80| 20 66 6f 72 20 6c 6f 67 | 67 69 6e 67 20 63 75 72 | for log|ging cur|
|00008b90| 72 65 6e 74 20 73 70 65 | 61 6b 65 72 20 2a 2f 20 |rent spe|aker */ |
|00008ba0| 0a 0a 7d 20 6d 61 76 65 | 6e 5f 63 6c 69 65 6e 74 |..} mave|n_client|
|00008bb0| 3b 0a 0a 73 74 72 75 63 | 74 20 43 74 72 6c 4d 73 |;..struc|t CtrlMs|
|00008bc0| 67 48 64 72 20 0a 7b 0a | 20 20 20 20 20 20 20 20 |gHdr .{.| |
|00008bd0| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 20 66 6c |unsigned| char fl|
|00008be0| 61 67 73 3b 0a 20 20 20 | 20 20 20 20 20 75 6e 73 |ags;. | uns|
|00008bf0| 69 67 6e 65 64 20 63 68 | 61 72 20 74 79 70 65 3b |igned ch|ar type;|
|00008c00| 0a 20 20 20 20 20 20 20 | 20 75 6e 73 69 67 6e 65 |. | unsigne|
|00008c10| 64 20 73 68 6f 72 74 20 | 63 6f 6e 66 69 64 3b 0a |d short |confid;.|
|00008c20| 20 20 20 20 20 20 20 20 | 63 68 61 72 20 69 64 6d | |char idm|
|00008c30| 73 67 5b 31 5d 3b 0a 7d | 3b 0a 0a 23 64 65 66 69 |sg[1];.}|;..#defi|
|00008c40| 6e 65 20 43 54 52 4c 4d | 53 47 53 49 5a 45 20 28 |ne CTRLM|SGSIZE (|
|00008c50| 34 29 0a 0a 23 64 65 66 | 69 6e 65 20 43 54 52 4c |4)..#def|ine CTRL|
|00008c60| 5f 54 59 50 45 5f 49 44 | 20 31 0a 23 64 65 66 69 |_TYPE_ID| 1.#defi|
|00008c70| 6e 65 20 43 54 52 4c 5f | 54 59 50 45 5f 44 4f 4e |ne CTRL_|TYPE_DON|
|00008c80| 45 20 32 0a 23 64 65 66 | 69 6e 65 20 43 54 52 4c |E 2.#def|ine CTRL|
|00008c90| 5f 54 59 50 45 5f 49 44 | 4c 49 53 54 20 33 0a 0a |_TYPE_ID|LIST 3..|
|00008ca0| 74 5f 73 6c 69 73 74 28 | 29 0a 7b 0a 20 20 20 73 |t_slist(|).{. s|
|00008cb0| 6c 69 73 74 20 2a 73 70 | 74 72 3b 0a 0a 20 20 20 |list *sp|tr;.. |
|00008cc0| 69 66 20 28 73 66 72 65 | 65 5f 63 6e 74 20 3d 3d |if (sfre|e_cnt ==|
|00008cd0| 20 30 29 0a 20 20 20 7b | 0a 20 20 20 20 20 20 64 | 0). {|. d|
|00008ce0| 6f 6c 6f 67 28 22 4e 6f | 20 6d 6f 72 65 20 66 72 |olog("No| more fr|
|00008cf0| 65 65 20 73 6c 69 73 74 | 73 5c 6e 22 29 3b 0a 20 |ee slist|s\n");. |
|00008d00| 20 20 20 20 20 65 78 69 | 74 28 31 29 3b 0a 20 20 | exi|t(1);. |
|00008d10| 20 7d 0a 0a 20 20 20 69 | 66 20 28 73 66 72 65 65 | }.. i|f (sfree|
|00008d20| 20 3d 3d 20 4e 55 4c 4c | 29 20 0a 20 20 20 7b 0a | == NULL|) . {.|
|00008d30| 20 20 20 20 20 20 64 6f | 6c 6f 67 28 22 55 6e 65 | do|log("Une|
|00008d40| 78 70 65 63 74 65 64 6c | 79 20 6e 6f 20 6d 6f 72 |xpectedl|y no mor|
|00008d50| 65 20 66 72 65 65 20 73 | 6c 69 73 74 73 5c 6e 22 |e free s|lists\n"|
|00008d60| 29 3b 0a 20 20 20 20 20 | 20 65 78 69 74 28 31 29 |);. | exit(1)|
|00008d70| 3b 0a 20 20 20 7d 0a 0a | 20 20 20 73 70 74 72 20 |;. }..| sptr |
|00008d80| 3d 20 73 66 72 65 65 3b | 0a 20 20 20 73 66 72 65 |= sfree;|. sfre|
|00008d90| 65 20 3d 20 73 66 72 65 | 65 2d 3e 73 6e 64 5f 6e |e = sfre|e->snd_n|
|00008da0| 70 74 72 3b 0a 20 20 20 | 73 66 72 65 65 5f 63 6e |ptr;. |sfree_cn|
|00008db0| 74 2d 2d 3b 0a 20 20 20 | 62 7a 65 72 6f 28 73 70 |t--;. |bzero(sp|
|00008dc0| 74 72 2c 73 69 7a 65 6f | 66 28 73 6c 69 73 74 29 |tr,sizeo|f(slist)|
|00008dd0| 29 3b 0a 20 20 20 72 65 | 74 75 72 6e 28 73 70 74 |);. re|turn(spt|
|00008de0| 72 29 3b 0a 7d 0a 0a 0a | 72 65 6d 6f 76 65 5f 73 |r);.}...|remove_s|
|00008df0| 6f 6d 65 5f 63 6c 69 65 | 6e 74 73 28 63 6f 6e 66 |ome_clie|nts(conf|
|00008e00| 32 2e 33 30 62 31 2f 72 | 65 66 6d 6f 6e 2e 63 00 |2.30b1/r|efmon.c.|
|00008e10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008e20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008e30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008e40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008e50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008e60| 00 00 00 00 31 30 30 36 | 34 34 20 00 30 30 30 30 |....1006|44 .0000|
|00008e70| 30 36 20 00 30 30 30 30 | 30 30 20 00 30 30 30 30 |06 .0000|00 .0000|
|00008e80| 30 30 31 34 34 34 33 20 | 30 35 36 30 32 36 33 31 |0014443 |05602631|
|00008e90| 33 33 31 20 30 31 33 36 | 34 35 00 20 30 00 00 00 |331 0136|45. 0...|
|00008ea0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008eb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008ec0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008ed0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008ee0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008ef0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008f00| 00 75 73 74 61 72 00 30 | 30 6c 79 6e 6e 00 00 00 |.ustar.0|0lynn...|
|00008f10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008f20| 00 00 00 00 00 00 00 00 | 00 73 79 73 74 65 6d 00 |........|.system.|
|00008f30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008f40| 00 00 00 00 00 00 00 00 | 00 30 30 30 30 30 30 20 |........|.000000 |
|00008f50| 00 30 30 30 30 30 30 20 | 00 00 00 00 00 00 00 00 |.000000 |........|
|00008f60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008f70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008f80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008f90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008fa0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008fb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008fc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008fd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008fe0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00008ff0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00009000| 2f 2a 0a 0a 43 6f 70 79 | 72 69 67 68 74 20 31 39 |/*..Copy|right 19|
|00009010| 39 33 2c 20 31 39 39 34 | 2c 20 43 6f 72 6e 65 6c |93, 1994|, Cornel|
|00009020| 6c 20 55 6e 69 76 65 72 | 73 69 74 79 0a 0a 43 6f |l Univer|sity..Co|
|00009030| 72 6e 65 6c 6c 20 68 65 | 72 65 62 79 20 67 72 61 |rnell he|reby gra|
|00009040| 6e 74 73 20 70 65 72 6d | 69 73 73 69 6f 6e 20 74 |nts perm|ission t|
|00009050| 6f 20 75 73 65 2c 20 63 | 6f 70 79 2c 20 6d 6f 64 |o use, c|opy, mod|
|00009060| 69 66 79 2c 20 61 6e 64 | 20 64 69 73 74 72 69 62 |ify, and| distrib|
|00009070| 75 74 65 20 74 68 69 73 | 20 70 72 6f 67 72 61 6d |ute this| program|
|00009080| 20 66 6f 72 20 61 6e 79 | 20 70 75 72 70 6f 73 65 | for any| purpose|
|00009090| 20 0a 61 6e 64 20 77 69 | 74 68 6f 75 74 20 66 65 | .and wi|thout fe|
|000090a0| 65 2c 20 70 72 6f 76 69 | 64 65 64 20 74 68 61 74 |e, provi|ded that|
|000090b0| 20 74 68 65 73 65 20 63 | 6f 70 79 72 69 67 68 74 | these c|opyright|
|000090c0| 20 61 6e 64 20 70 65 72 | 6d 69 73 73 69 6f 6e 20 | and per|mission |
|000090d0| 6e 6f 74 69 63 65 73 20 | 61 70 70 65 61 72 20 6f |notices |appear o|
|000090e0| 6e 20 61 6c 6c 20 63 6f | 70 69 65 73 20 61 6e 64 |n all co|pies and|
|000090f0| 20 0a 73 75 70 70 6f 72 | 74 69 6e 67 20 64 6f 63 | .suppor|ting doc|
|00009100| 75 6d 65 6e 74 61 74 69 | 6f 6e 2c 20 74 68 65 20 |umentati|on, the |
|00009110| 6e 61 6d 65 20 6f 66 20 | 43 6f 72 6e 65 6c 6c 20 |name of |Cornell |
|00009120| 6e 6f 74 20 62 65 20 75 | 73 65 64 20 69 6e 20 61 |not be u|sed in a|
|00009130| 64 76 65 72 74 69 73 69 | 6e 67 20 6f 72 20 70 75 |dvertisi|ng or pu|
|00009140| 62 6c 69 63 69 74 79 20 | 70 65 72 74 61 69 6e 69 |blicity |pertaini|
|00009150| 6e 67 20 0a 74 6f 20 64 | 69 73 74 72 69 62 75 74 |ng .to d|istribut|
|00009160| 69 6f 6e 20 6f 66 20 74 | 68 65 20 70 72 6f 67 72 |ion of t|he progr|
|00009170| 61 6d 20 77 69 74 68 6f | 75 74 20 73 70 65 63 69 |am witho|ut speci|
|00009180| 66 69 63 20 70 72 69 6f | 72 20 70 65 72 6d 69 73 |fic prio|r permis|
|00009190| 73 69 6f 6e 2c 20 6e 6f | 74 69 63 65 20 62 65 20 |sion, no|tice be |
|000091a0| 67 69 76 65 6e 20 69 6e | 20 73 75 70 70 6f 72 74 |given in| support|
|000091b0| 69 6e 67 20 0a 64 6f 63 | 75 6d 65 6e 74 61 74 69 |ing .doc|umentati|
|000091c0| 6f 6e 20 74 68 61 74 20 | 63 6f 70 79 69 6e 67 20 |on that |copying |
|000091d0| 61 6e 64 20 64 69 73 74 | 72 69 62 75 74 69 6f 6e |and dist|ribution|
|000091e0| 20 69 73 20 62 79 20 70 | 65 72 6d 69 73 73 69 6f | is by p|ermissio|
|000091f0| 6e 20 6f 66 20 43 6f 72 | 6e 65 6c 6c 2e 20 20 43 |n of Cor|nell. C|
|00009200| 4f 52 4e 45 4c 4c 20 4d | 41 4b 45 53 20 4e 4f 20 |ORNELL M|AKES NO |
|00009210| 0a 52 45 50 52 45 53 45 | 4e 54 41 54 49 4f 4e 53 |.REPRESE|NTATIONS|
|00009220| 20 4f 52 20 57 41 52 52 | 41 4e 54 45 45 53 2c 20 | OR WARR|ANTEES, |
|00009230| 45 58 50 52 45 53 53 20 | 4f 52 20 49 4d 50 4c 49 |EXPRESS |OR IMPLI|
|00009240| 45 44 2e 20 20 42 79 20 | 77 61 79 20 6f 66 20 65 |ED. By |way of e|
|00009250| 78 61 6d 70 6c 65 2c 20 | 62 75 74 20 6e 6f 74 20 |xample, |but not |
|00009260| 6c 69 6d 69 74 61 74 69 | 6f 6e 2c 20 0a 43 4f 52 |limitati|on, .COR|
|00009270| 4e 45 4c 4c 20 4d 41 4b | 45 53 20 4e 4f 20 52 45 |NELL MAK|ES NO RE|
|00009280| 50 52 45 53 45 4e 54 41 | 54 49 4f 4e 53 20 4f 52 |PRESENTA|TIONS OR|
|00009290| 20 57 41 52 52 41 4e 54 | 49 45 53 20 4f 46 20 4d | WARRANT|IES OF M|
|000092a0| 45 52 43 48 41 4e 54 41 | 42 49 4c 49 54 59 20 4f |ERCHANTA|BILITY O|
|000092b0| 52 20 46 49 54 4e 45 53 | 53 20 46 4f 52 20 41 4e |R FITNES|S FOR AN|
|000092c0| 59 20 50 41 52 54 49 43 | 55 4c 41 52 20 0a 50 55 |Y PARTIC|ULAR .PU|
|000092d0| 52 50 4f 53 45 20 4f 52 | 20 54 48 41 54 20 54 48 |RPOSE OR| THAT TH|
|000092e0| 45 20 55 53 45 20 4f 46 | 20 54 48 49 53 20 53 4f |E USE OF| THIS SO|
|000092f0| 46 54 57 41 52 45 20 4f | 52 20 44 4f 43 55 4d 45 |FTWARE O|R DOCUME|
|00009300| 4e 54 41 54 49 4f 4e 20 | 57 49 4c 4c 20 4e 4f 54 |NTATION |WILL NOT|
|00009310| 20 49 4e 46 52 49 4e 47 | 45 20 41 4e 59 20 50 41 | INFRING|E ANY PA|
|00009320| 54 45 4e 54 53 2c 20 43 | 4f 50 59 52 49 47 48 54 |TENTS, C|OPYRIGHT|
|00009330| 53 2c 20 0a 54 52 41 44 | 45 4d 41 52 4b 53 2c 20 |S, .TRAD|EMARKS, |
|00009340| 4f 52 20 4f 54 48 45 52 | 20 52 49 47 48 54 53 2e |OR OTHER| RIGHTS.|
|00009350| 20 20 43 6f 72 6e 65 6c | 6c 20 73 68 61 6c 6c 20 | Cornel|l shall |
|00009360| 6e 6f 74 20 62 65 20 68 | 65 6c 64 20 6c 69 61 62 |not be h|eld liab|
|00009370| 6c 65 20 66 6f 72 20 61 | 6e 79 20 6c 69 61 62 69 |le for a|ny liabi|
|00009380| 6c 69 74 79 20 77 69 74 | 68 20 72 65 73 70 65 63 |lity wit|h respec|
|00009390| 74 20 74 6f 20 0a 61 6e | 79 20 63 6c 61 69 6d 20 |t to .an|y claim |
|000093a0| 62 79 20 74 68 65 20 75 | 73 65 72 20 6f 72 20 61 |by the u|ser or a|
|000093b0| 6e 79 20 6f 74 68 65 72 | 20 70 61 72 74 79 20 61 |ny other| party a|
|000093c0| 72 69 73 69 6e 67 20 66 | 72 6f 6d 20 75 73 65 20 |rising f|rom use |
|000093d0| 6f 66 20 74 68 65 20 70 | 72 6f 67 72 61 6d 2e 0a |of the p|rogram..|
|000093e0| 0a 54 68 69 73 20 6d 61 | 74 65 72 69 61 6c 20 69 |.This ma|terial i|
|000093f0| 73 20 70 61 72 74 69 61 | 6c 6c 79 20 62 61 73 65 |s partia|lly base|
|00009400| 64 20 6f 6e 20 77 6f 72 | 6b 20 73 70 6f 6e 73 6f |d on wor|k sponso|
|00009410| 72 65 64 20 62 79 20 74 | 68 65 20 4e 61 74 69 6f |red by t|he Natio|
|00009420| 6e 61 6c 20 53 63 69 65 | 6e 63 65 20 46 6f 75 6e |nal Scie|nce Foun|
|00009430| 64 61 74 69 6f 6e 20 75 | 6e 64 65 72 20 43 6f 6f |dation u|nder Coo|
|00009440| 70 65 72 61 74 69 76 65 | 20 0a 41 67 72 65 65 6d |perative| .Agreem|
|00009450| 65 6e 74 20 4e 6f 2e 20 | 4e 43 52 2d 39 33 31 38 |ent No. |NCR-9318|
|00009460| 33 33 37 2e 20 20 54 68 | 65 20 67 6f 76 65 72 6e |337. Th|e govern|
|00009470| 6d 65 6e 74 20 68 61 73 | 20 63 65 72 74 61 69 6e |ment has| certain|
|00009480| 20 72 69 67 68 74 73 20 | 69 6e 20 74 68 69 73 20 | rights |in this |
|00009490| 6d 61 74 65 72 69 61 6c | 2e 0a 0a 2a 2f 0a 0a 0a |material|...*/...|
|000094a0| 0a 23 69 6e 63 6c 75 64 | 65 20 3c 73 74 64 69 6f |.#includ|e <stdio|
|000094b0| 2e 68 3e 0a 23 69 6e 63 | 6c 75 64 65 20 3c 73 69 |.h>.#inc|lude <si|
|000094c0| 67 6e 61 6c 2e 68 3e 0a | 23 69 6e 63 6c 75 64 65 |gnal.h>.|#include|
|000094d0| 20 3c 73 79 73 2f 74 79 | 70 65 73 2e 68 3e 0a 23 | <sys/ty|pes.h>.#|
|000094e0| 69 6e 63 6c 75 64 65 20 | 3c 73 79 73 2f 73 6f 63 |include |<sys/soc|
|000094f0| 6b 65 74 2e 68 3e 0a 23 | 69 6e 63 6c 75 64 65 20 |ket.h>.#|include |
|00009500| 3c 73 79 73 2f 73 6f 63 | 6b 65 74 76 61 72 2e 68 |<sys/soc|ketvar.h|
|00009510| 3e 0a 23 69 6e 63 6c 75 | 64 65 20 3c 6e 65 74 69 |>.#inclu|de <neti|
|00009520| 6e 65 74 2f 69 6e 2e 68 | 3e 0a 23 69 6e 63 6c 75 |net/in.h|>.#inclu|
|00009530| 64 65 20 3c 6e 65 74 64 | 62 2e 68 3e 0a 0a 23 69 |de <netd|b.h>..#i|
|00009540| 6e 63 6c 75 64 65 20 22 | 72 65 66 6c 65 63 74 2e |nclude "|reflect.|
|00009550| 68 22 0a 23 69 6e 63 6c | 75 64 65 20 22 72 65 66 |h".#incl|ude "ref|
|00009560| 6d 6f 6e 2e 68 22 0a 0a | 23 64 65 66 69 6e 65 20 |mon.h"..|#define |
|00009570| 49 4e 50 55 54 42 55 46 | 53 49 5a 45 20 31 30 30 |INPUTBUF|SIZE 100|
|00009580| 0a 0a 52 65 66 43 6f 6e | 50 6b 74 20 20 20 20 20 |..RefCon|Pkt |
|00009590| 20 20 20 20 20 20 20 20 | 20 20 70 6b 74 3b 0a 69 | | pkt;.i|
|000095a0| 6e 74 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |nt | |
|000095b0| 20 20 20 20 20 63 6e 74 | 72 6c 5f 73 6f 63 6b 3b | cnt|rl_sock;|
|000095c0| 0a 0a 6d 61 69 6e 28 61 | 72 67 63 2c 20 61 72 67 |..main(a|rgc, arg|
|000095d0| 76 29 0a 20 20 20 20 69 | 6e 74 20 20 20 20 20 20 |v). i|nt |
|000095e0| 20 20 20 20 20 20 20 20 | 61 72 67 63 3b 0a 20 20 | |argc;. |
|000095f0| 20 20 63 68 61 72 20 20 | 20 20 20 20 20 20 20 20 | char | |
|00009600| 20 20 20 20 20 2a 61 72 | 67 76 5b 5d 3b 0a 7b 0a | *ar|gv[];.{.|
|00009610| 20 20 20 20 73 68 6f 72 | 74 20 20 20 20 20 20 20 | shor|t |
|00009620| 20 20 20 20 20 20 20 20 | 73 77 2c 6c 65 6e 2c 61 | |sw,len,a|
|00009630| 63 6e 74 3b 0a 20 20 20 | 20 63 68 61 72 20 20 20 |cnt;. | char |
|00009640| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 72 68 6f | | rho|
|00009650| 73 74 5b 36 34 5d 2c 62 | 75 66 5b 49 4e 50 55 54 |st[64],b|uf[INPUT|
|00009660| 42 55 46 53 49 5a 45 5d | 3b 0a 20 20 20 20 63 68 |BUFSIZE]|;. ch|
|00009670| 61 72 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ar | |
|00009680| 20 20 61 31 5b 49 4e 50 | 55 54 42 55 46 53 49 5a | a1[INP|UTBUFSIZ|
|00009690| 45 5d 2c 20 61 32 5b 49 | 4e 50 55 54 42 55 46 53 |E], a2[I|NPUTBUFS|
|000096a0| 49 5a 45 5d 2c 20 61 33 | 5b 49 4e 50 55 54 42 55 |IZE], a3|[INPUTBU|
|000096b0| 46 53 49 5a 45 5d 3b 0a | 20 20 20 20 73 74 72 75 |FSIZE];.| stru|
|000096c0| 63 74 20 73 6f 63 6b 61 | 64 64 72 5f 69 6e 20 20 |ct socka|ddr_in |
|000096d0| 72 61 64 64 72 3b 0a 20 | 20 20 20 73 74 72 75 63 |raddr;. | struc|
|000096e0| 74 20 68 6f 73 74 65 6e | 74 20 20 20 20 20 20 2a |t hosten|t *|
|000096f0| 68 70 74 72 3b 0a 20 20 | 20 20 65 78 74 65 72 6e |hptr;. | extern|
|00009700| 20 63 68 61 72 20 20 20 | 20 20 20 20 20 20 2a 6f | char | *o|
|00009710| 70 74 61 72 67 3b 0a 0a | 20 20 20 20 77 68 69 6c |ptarg;..| whil|
|00009720| 65 20 28 28 73 77 20 3d | 20 67 65 74 6f 70 74 28 |e ((sw =| getopt(|
|00009730| 61 72 67 63 2c 20 61 72 | 67 76 2c 20 22 73 3a 22 |argc, ar|gv, "s:"|
|00009740| 29 29 20 21 3d 20 2d 31 | 29 0a 20 20 20 20 20 20 |)) != -1|). |
|00009750| 20 73 77 69 74 63 68 20 | 28 73 77 29 20 0a 20 20 | switch |(sw) . |
|00009760| 20 20 20 20 20 7b 0a 20 | 20 20 20 20 20 20 20 20 | {. | |
|00009770| 20 63 61 73 65 20 27 73 | 27 3a 0a 20 20 20 20 20 | case 's|':. |
|00009780| 20 20 20 20 20 20 20 20 | 73 74 72 63 70 79 28 72 | |strcpy(r|
|00009790| 68 6f 73 74 2c 20 6f 70 | 74 61 72 67 29 3b 0a 20 |host, op|targ);. |
|000097a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 69 66 20 28 | | if (|
|000097b0| 28 68 70 74 72 20 3d 20 | 67 65 74 68 6f 73 74 62 |(hptr = |gethostb|
|000097c0| 79 6e 61 6d 65 28 72 68 | 6f 73 74 29 29 20 3d 3d |yname(rh|ost)) ==|
|000097d0| 20 4e 55 4c 4c 29 0a 20 | 20 20 20 20 20 20 20 20 | NULL). | |
|000097e0| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|000097f0| 20 20 20 20 20 20 66 70 | 72 69 6e 74 66 28 73 74 | fp|rintf(st|
|00009800| 64 65 72 72 2c 22 25 73 | 3a 20 75 6e 6b 6e 6f 77 |derr,"%s|: unknow|
|00009810| 6e 20 68 6f 73 74 5c 6e | 22 2c 72 68 6f 73 74 29 |n host\n|",rhost)|
|00009820| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;. | |
|00009830| 20 20 65 78 69 74 28 31 | 29 3b 20 20 20 20 0a 20 | exit(1|); . |
|00009840| 20 20 20 20 20 20 20 20 | 20 20 20 20 7d 0a 20 20 | | }. |
|00009850| 20 20 20 20 20 20 20 20 | 20 20 20 62 72 65 61 6b | | break|
|00009860| 3b 0a 0a 20 20 20 20 20 | 20 20 20 20 20 63 61 73 |;.. | cas|
|00009870| 65 20 27 68 27 3a 0a 20 | 20 20 20 20 20 20 20 20 |e 'h':. | |
|00009880| 20 63 61 73 65 20 27 3f | 27 3a 0a 20 20 20 20 20 | case '?|':. |
|00009890| 20 20 20 20 20 20 20 20 | 66 70 72 69 6e 74 66 28 | |fprintf(|
|000098a0| 73 74 64 65 72 72 2c 22 | 75 73 61 67 65 3a 20 25 |stderr,"|usage: %|
|000098b0| 73 20 2d 73 20 68 6f 73 | 74 6e 61 6d 65 5c 6e 22 |s -s hos|tname\n"|
|000098c0| 2c 61 72 67 76 5b 30 5d | 29 3b 0a 20 20 20 20 20 |,argv[0]|);. |
|000098d0| 20 20 20 20 20 20 20 20 | 65 78 69 74 28 31 29 3b | |exit(1);|
|000098e0| 0a 20 20 20 20 20 20 20 | 7d 0a 0a 20 20 20 20 69 |. |}.. i|
|000098f0| 66 20 28 68 70 74 72 20 | 3d 3d 20 4e 55 4c 4c 29 |f (hptr |== NULL)|
|00009900| 0a 20 20 20 20 7b 0a 20 | 20 20 20 20 20 20 66 70 |. {. | fp|
|00009910| 72 69 6e 74 66 28 73 74 | 64 65 72 72 2c 22 75 73 |rintf(st|derr,"us|
|00009920| 61 67 65 3a 20 25 73 20 | 2d 73 20 68 6f 73 74 6e |age: %s |-s hostn|
|00009930| 61 6d 65 5c 6e 22 2c 61 | 72 67 76 5b 30 5d 29 3b |ame\n",a|rgv[0]);|
|00009940| 0a 20 20 20 20 20 20 20 | 65 78 69 74 28 31 29 3b |. |exit(1);|
|00009950| 0a 20 20 20 20 7d 0a 0a | 20 20 20 20 69 66 20 28 |. }..| if (|
|00009960| 28 63 6e 74 72 6c 5f 73 | 6f 63 6b 20 3d 20 73 6f |(cntrl_s|ock = so|
|00009970| 63 6b 65 74 28 41 46 5f | 49 4e 45 54 2c 53 4f 43 |cket(AF_|INET,SOC|
|00009980| 4b 5f 53 54 52 45 41 4d | 2c 30 29 29 20 3d 3d 20 |K_STREAM|,0)) == |
|00009990| 30 29 0a 20 20 20 20 7b | 0a 20 20 20 20 20 20 20 |0). {|. |
|000099a0| 70 65 72 72 6f 72 28 22 | 6f 70 65 6e 69 6e 67 20 |perror("|opening |
|000099b0| 63 6f 6e 74 72 6f 6c 20 | 73 6f 63 6b 65 74 22 29 |control |socket")|
|000099c0| 3b 0a 20 20 20 20 20 20 | 20 65 78 69 74 28 31 29 |;. | exit(1)|
|000099d0| 3b 0a 20 20 20 20 7d 0a | 0a 20 20 20 20 72 61 64 |;. }.|. rad|
|000099e0| 64 72 2e 73 69 6e 5f 66 | 61 6d 69 6c 79 20 3d 20 |dr.sin_f|amily = |
|000099f0| 41 46 5f 49 4e 45 54 3b | 0a 20 20 20 20 62 63 6f |AF_INET;|. bco|
|00009a00| 70 79 28 68 70 74 72 2d | 3e 68 5f 61 64 64 72 2c |py(hptr-|>h_addr,|
|00009a10| 26 72 61 64 64 72 2e 73 | 69 6e 5f 61 64 64 72 2c |&raddr.s|in_addr,|
|00009a20| 68 70 74 72 2d 3e 68 5f | 6c 65 6e 67 74 68 29 3b |hptr->h_|length);|
|00009a30| 0a 20 20 20 20 72 61 64 | 64 72 2e 73 69 6e 5f 70 |. rad|dr.sin_p|
|00009a40| 6f 72 74 20 3d 20 68 74 | 6f 6e 73 28 43 4f 4e 54 |ort = ht|ons(CONT|
|00009a50| 52 4f 4c 5f 50 4f 52 54 | 29 3b 0a 0a 20 20 20 20 |ROL_PORT|);.. |
|00009a60| 66 70 72 69 6e 74 66 28 | 73 74 64 65 72 72 2c 22 |fprintf(|stderr,"|
|00009a70| 57 61 69 74 69 6e 67 20 | 66 6f 72 20 63 6f 6e 6e |Waiting |for conn|
|00009a80| 65 63 74 69 6f 6e 20 74 | 6f 20 25 73 20 2e 2e 2e |ection t|o %s ...|
|00009a90| 20 22 2c 69 6e 65 74 5f | 6e 74 6f 61 28 72 61 64 | ",inet_|ntoa(rad|
|00009aa0| 64 72 2e 73 69 6e 5f 61 | 64 64 72 29 29 3b 0a 0a |dr.sin_a|ddr));..|
|00009ab0| 20 20 20 20 69 66 20 28 | 63 6f 6e 6e 65 63 74 28 | if (|connect(|
|00009ac0| 63 6e 74 72 6c 5f 73 6f | 63 6b 2c 26 72 61 64 64 |cntrl_so|ck,&radd|
|00009ad0| 72 2c 73 69 7a 65 6f 66 | 28 72 61 64 64 72 29 29 |r,sizeof|(raddr))|
|00009ae0| 20 3d 3d 20 2d 31 29 0a | 20 20 20 20 7b 0a 20 20 | == -1).| {. |
|00009af0| 20 20 20 20 20 70 65 72 | 72 6f 72 28 22 63 6f 6e | per|ror("con|
|00009b00| 6e 65 63 74 22 29 3b 0a | 20 20 20 20 20 20 20 65 |nect");.| e|
|00009b10| 78 69 74 28 31 29 3b 0a | 20 20 20 20 7d 0a 20 20 |xit(1);.| }. |
|00009b20| 20 20 66 70 72 69 6e 74 | 66 28 73 74 64 65 72 72 | fprint|f(stderr|
|00009b30| 2c 22 43 6f 6e 6e 65 63 | 74 65 64 20 5c 6e 22 29 |,"Connec|ted \n")|
|00009b40| 3b 0a 0a 0a 20 20 20 20 | 77 68 69 6c 65 20 28 31 |;... |while (1|
|00009b50| 29 0a 20 20 20 20 7b 0a | 20 20 20 20 20 20 20 67 |). {.| g|
|00009b60| 65 74 5f 69 6e 70 75 74 | 28 62 75 66 29 3b 0a 20 |et_input|(buf);. |
|00009b70| 20 20 20 20 20 20 61 63 | 6e 74 20 3d 20 73 73 63 | ac|nt = ssc|
|00009b80| 61 6e 66 28 62 75 66 2c | 22 25 73 20 25 73 20 25 |anf(buf,|"%s %s %|
|00009b90| 73 22 2c 61 31 2c 61 32 | 2c 61 33 29 3b 0a 0a 20 |s",a1,a2|,a3);.. |
|00009ba0| 20 20 20 20 20 20 69 66 | 20 28 73 74 72 63 6d 70 | if| (strcmp|
|00009bb0| 28 61 31 2c 22 71 75 69 | 74 22 29 20 3d 3d 20 30 |(a1,"qui|t") == 0|
|00009bc0| 29 0a 20 20 20 20 20 20 | 20 7b 0a 20 20 20 20 20 |). | {. |
|00009bd0| 20 20 20 20 20 63 6c 6f | 73 65 28 63 6e 74 72 6c | clo|se(cntrl|
|00009be0| 5f 73 6f 63 6b 29 3b 0a | 20 20 20 20 20 20 20 20 |_sock);.| |
|00009bf0| 20 20 65 78 69 74 28 30 | 29 3b 0a 20 20 20 20 20 | exit(0|);. |
|00009c00| 20 20 7d 0a 0a 20 20 20 | 20 20 20 20 69 66 20 28 | }.. | if (|
|00009c10| 73 74 72 63 6d 70 28 61 | 31 2c 22 76 65 72 73 69 |strcmp(a|1,"versi|
|00009c20| 6f 6e 22 29 20 3d 3d 20 | 30 29 0a 20 20 20 20 20 |on") == |0). |
|00009c30| 20 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 70 6b | {. | pk|
|00009c40| 74 2e 6d 73 67 5f 74 79 | 70 65 20 3d 20 68 74 6f |t.msg_ty|pe = hto|
|00009c50| 6e 73 28 56 45 52 53 49 | 4f 4e 29 3b 0a 20 20 20 |ns(VERSI|ON);. |
|00009c60| 20 20 20 20 20 20 20 70 | 6b 74 2e 6d 73 67 5f 6c | p|kt.msg_l|
|00009c70| 65 6e 20 3d 20 68 74 6f | 6e 73 28 4d 49 4e 52 45 |en = hto|ns(MINRE|
|00009c80| 46 50 4b 54 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |FPKT);. | |
|00009c90| 20 71 75 65 72 79 28 29 | 3b 20 0a 20 20 20 20 20 | query()|; . |
|00009ca0| 20 20 20 20 20 70 72 69 | 6e 74 66 28 22 25 73 5c | pri|ntf("%s\|
|00009cb0| 6e 22 2c 70 6b 74 2e 6d | 73 67 5f 64 61 74 61 29 |n",pkt.m|sg_data)|
|00009cc0| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 63 6f 6e 74 |;. | cont|
|00009cd0| 69 6e 75 65 3b 0a 20 20 | 20 20 20 20 20 7d 0a 0a |inue;. | }..|
|00009ce0| 20 20 20 20 20 20 20 69 | 66 20 28 73 74 72 63 6d | i|f (strcm|
|00009cf0| 70 28 61 31 2c 22 77 68 | 6f 22 29 20 3d 3d 20 30 |p(a1,"wh|o") == 0|
|00009d00| 29 0a 20 20 20 20 20 20 | 20 7b 0a 20 20 20 20 20 |). | {. |
|00009d10| 20 20 20 20 20 70 6b 74 | 2e 6d 73 67 5f 74 79 70 | pkt|.msg_typ|
|00009d20| 65 20 3d 20 68 74 6f 6e | 73 28 57 48 4f 29 3b 0a |e = hton|s(WHO);.|
|00009d30| 20 20 20 20 20 20 20 20 | 20 20 70 6b 74 2e 6d 73 | | pkt.ms|
|00009d40| 67 5f 6c 65 6e 20 3d 20 | 68 74 6f 6e 73 28 4d 49 |g_len = |htons(MI|
|00009d50| 4e 52 45 46 50 4b 54 29 | 3b 0a 20 20 20 20 20 20 |NREFPKT)|;. |
|00009d60| 20 20 20 20 71 75 65 72 | 79 28 29 3b 20 0a 20 20 | quer|y(); . |
|00009d70| 20 20 20 20 20 20 20 20 | 70 72 69 6e 74 66 28 22 | |printf("|
|00009d80| 25 73 5c 6e 22 2c 70 6b | 74 2e 6d 73 67 5f 64 61 |%s\n",pk|t.msg_da|
|00009d90| 74 61 29 3b 0a 20 20 20 | 20 20 20 20 20 20 20 63 |ta);. | c|
|00009da0| 6f 6e 74 69 6e 75 65 3b | 0a 20 20 20 20 20 20 20 |ontinue;|. |
|00009db0| 7d 0a 0a 20 20 20 20 20 | 20 20 69 66 20 28 73 74 |}.. | if (st|
|00009dc0| 72 63 6d 70 28 61 31 2c | 22 6d 61 76 65 6e 22 29 |rcmp(a1,|"maven")|
|00009dd0| 20 3d 3d 20 30 29 0a 20 | 20 20 20 20 20 20 7b 0a | == 0). | {.|
|00009de0| 20 20 20 20 20 20 20 20 | 20 20 70 6b 74 2e 6d 73 | | pkt.ms|
|00009df0| 67 5f 74 79 70 65 20 3d | 20 68 74 6f 6e 73 28 4d |g_type =| htons(M|
|00009e00| 41 56 45 4e 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |AVEN);. | |
|00009e10| 20 70 6b 74 2e 6d 73 67 | 5f 6c 65 6e 20 3d 20 68 | pkt.msg|_len = h|
|00009e20| 74 6f 6e 73 28 4d 49 4e | 52 45 46 50 4b 54 29 3b |tons(MIN|REFPKT);|
|00009e30| 0a 20 20 20 20 20 20 20 | 20 20 20 71 75 65 72 79 |. | query|
|00009e40| 28 29 3b 20 0a 20 20 20 | 20 20 20 20 20 20 20 70 |(); . | p|
|00009e50| 72 69 6e 74 66 28 22 25 | 73 5c 6e 22 2c 70 6b 74 |rintf("%|s\n",pkt|
|00009e60| 2e 6d 73 67 5f 64 61 74 | 61 29 3b 0a 20 20 20 20 |.msg_dat|a);. |
|00009e70| 20 20 20 20 20 20 63 6f | 6e 74 69 6e 75 65 3b 0a | co|ntinue;.|
|00009e80| 20 20 20 20 20 20 20 7d | 0a 0a 20 20 20 20 20 20 | }|.. |
|00009e90| 20 69 66 20 28 73 74 72 | 63 6d 70 28 61 31 2c 22 | if (str|cmp(a1,"|
|00009ea0| 75 70 74 69 6d 65 22 29 | 20 3d 3d 20 30 29 0a 20 |uptime")| == 0). |
|00009eb0| 20 20 20 20 20 20 7b 0a | 20 20 20 20 20 20 20 20 | {.| |
|00009ec0| 20 20 70 6b 74 2e 6d 73 | 67 5f 74 79 70 65 20 3d | pkt.ms|g_type =|
|00009ed0| 20 68 74 6f 6e 73 28 55 | 50 54 49 4d 45 29 3b 0a | htons(U|PTIME);.|
|00009ee0| 20 20 20 20 20 20 20 20 | 20 20 70 6b 74 2e 6d 73 | | pkt.ms|
|00009ef0| 67 5f 6c 65 6e 20 3d 20 | 68 74 6f 6e 73 28 4d 49 |g_len = |htons(MI|
|00009f00| 4e 52 45 46 50 4b 54 29 | 3b 0a 20 20 20 20 20 20 |NREFPKT)|;. |
|00009f10| 20 20 20 20 71 75 65 72 | 79 28 29 3b 20 0a 20 20 | quer|y(); . |
|00009f20| 20 20 20 20 20 20 20 20 | 70 72 69 6e 74 66 28 22 | |printf("|
|00009f30| 25 73 5c 6e 22 2c 70 6b | 74 2e 6d 73 67 5f 64 61 |%s\n",pk|t.msg_da|
|00009f40| 74 61 29 3b 0a 20 20 20 | 20 20 20 20 20 20 20 63 |ta);. | c|
|00009f50| 6f 6e 74 69 6e 75 65 3b | 0a 20 20 20 20 20 20 20 |ontinue;|. |
|00009f60| 7d 0a 20 20 20 20 20 20 | 20 69 66 20 28 73 74 72 |}. | if (str|
|00009f70| 63 6d 70 28 61 31 2c 22 | 74 65 72 6d 22 29 20 3d |cmp(a1,"|term") =|
|00009f80| 3d 20 30 29 0a 20 20 20 | 20 20 20 20 7b 0a 20 20 |= 0). | {. |
|00009f90| 20 20 20 20 20 20 20 20 | 70 6b 74 2e 6d 73 67 5f | |pkt.msg_|
|00009fa0| 74 79 70 65 20 3d 20 68 | 74 6f 6e 73 28 54 45 52 |type = h|tons(TER|
|00009fb0| 4d 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 70 6b |M);. | pk|
|00009fc0| 74 2e 6d 73 67 5f 6c 65 | 6e 20 3d 20 68 74 6f 6e |t.msg_le|n = hton|
|00009fd0| 73 28 4d 49 4e 52 45 46 | 50 4b 54 29 3b 0a 20 20 |s(MINREF|PKT);. |
|00009fe0| 20 20 20 20 20 20 20 20 | 71 75 65 72 79 28 29 3b | |query();|
|00009ff0| 20 0a 20 20 20 20 20 20 | 20 20 20 20 70 72 69 6e | . | prin|
|0000a000| 74 66 28 22 25 73 5c 6e | 22 2c 70 6b 74 2e 6d 73 |tf("%s\n|",pkt.ms|
|0000a010| 67 5f 64 61 74 61 29 3b | 0a 20 20 20 20 20 20 20 |g_data);|. |
|0000a020| 20 20 20 63 6f 6e 74 69 | 6e 75 65 3b 0a 20 20 20 | conti|nue;. |
|0000a030| 20 20 20 20 7d 0a 0a 20 | 20 20 20 20 20 20 69 66 | }.. | if|
|0000a040| 20 28 73 74 72 63 6d 70 | 28 61 31 2c 22 70 61 72 | (strcmp|(a1,"par|
|0000a050| 61 6d 22 29 20 3d 3d 20 | 30 29 0a 20 20 20 20 20 |am") == |0). |
|0000a060| 20 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 70 6b | {. | pk|
|0000a070| 74 2e 6d 73 67 5f 74 79 | 70 65 20 3d 20 68 74 6f |t.msg_ty|pe = hto|
|0000a080| 6e 73 28 50 41 52 41 4d | 29 3b 0a 20 20 20 20 20 |ns(PARAM|);. |
|0000a090| 20 20 20 20 20 70 6b 74 | 2e 6d 73 67 5f 6c 65 6e | pkt|.msg_len|
|0000a0a0| 20 3d 20 68 74 6f 6e 73 | 28 4d 49 4e 52 45 46 50 | = htons|(MINREFP|
|0000a0b0| 4b 54 29 3b 0a 20 20 20 | 20 20 20 20 20 20 20 71 |KT);. | q|
|0000a0c0| 75 65 72 79 28 29 3b 20 | 0a 20 20 20 20 20 20 20 |uery(); |. |
|0000a0d0| 20 20 20 70 72 69 6e 74 | 66 28 22 25 73 5c 6e 22 | print|f("%s\n"|
|0000a0e0| 2c 70 6b 74 2e 6d 73 67 | 5f 64 61 74 61 29 3b 0a |,pkt.msg|_data);.|
|0000a0f0| 20 20 20 20 20 20 20 20 | 20 20 63 6f 6e 74 69 6e | | contin|
|0000a100| 75 65 3b 0a 20 20 20 20 | 20 20 20 7d 0a 0a 20 20 |ue;. | }.. |
|0000a110| 20 20 20 20 20 69 66 20 | 28 73 74 72 63 6d 70 28 | if |(strcmp(|
|0000a120| 61 31 2c 22 68 65 6c 70 | 22 29 20 3d 3d 20 30 29 |a1,"help|") == 0)|
|0000a130| 0a 20 20 20 20 20 20 20 | 7b 0a 20 20 20 20 20 20 |. |{. |
|0000a140| 20 20 20 20 66 70 72 69 | 6e 74 66 28 73 74 64 6f | fpri|ntf(stdo|
|0000a150| 75 74 2c 22 76 61 6c 69 | 64 20 63 6f 6d 6d 61 6e |ut,"vali|d comman|
|0000a160| 64 73 20 61 72 65 3a 20 | 71 75 69 74 20 76 65 72 |ds are: |quit ver|
|0000a170| 73 69 6f 6e 20 68 65 6c | 70 20 77 68 6f 20 74 65 |sion hel|p who te|
|0000a180| 72 6d 20 70 61 72 61 6d | 20 6d 61 76 65 6e 20 75 |rm param| maven u|
|0000a190| 70 74 69 6d 65 5c 6e 22 | 29 3b 0a 20 20 20 20 20 |ptime\n"|);. |
|0000a1a0| 20 20 20 20 20 63 6f 6e | 74 69 6e 75 65 3b 0a 20 | con|tinue;. |
|0000a1b0| 20 20 20 20 20 20 7d 0a | 0a 20 20 20 20 20 20 20 | }.|. |
|0000a1c0| 66 70 72 69 6e 74 66 28 | 73 74 64 6f 75 74 2c 22 |fprintf(|stdout,"|
|0000a1d0| 63 6f 6d 6d 61 6e 64 20 | 6e 6f 74 20 75 6e 64 65 |command |not unde|
|0000a1e0| 72 73 74 6f 6f 64 5c 6e | 22 29 3b 0a 20 20 20 20 |rstood\n|");. |
|0000a1f0| 20 20 20 66 70 72 69 6e | 74 66 28 73 74 64 6f 75 | fprin|tf(stdou|
|0000a200| 74 2c 22 76 61 6c 69 64 | 20 63 6f 6d 6d 61 6e 64 |t,"valid| command|
|0000a210| 73 20 61 72 65 3a 20 71 | 75 69 74 20 76 65 72 73 |s are: q|uit vers|
|0000a220| 69 6f 6e 20 68 65 6c 70 | 20 77 68 6f 20 74 65 72 |ion help| who ter|
|0000a230| 6d 20 70 61 72 61 6d 20 | 6d 61 76 65 6e 20 75 70 |m param |maven up|
|0000a240| 74 69 6d 65 5c 6e 22 29 | 3b 0a 0a 20 20 20 20 7d |time\n")|;.. }|
|0000a250| 0a 7d 0a 0a 0a 0a 67 65 | 74 5f 69 6e 70 75 74 28 |.}....ge|t_input(|
|0000a260| 62 75 66 29 0a 20 20 20 | 20 63 68 61 72 20 2a 62 |buf). | char *b|
|0000a270| 75 66 3b 0a 7b 0a 20 20 | 20 20 73 68 6f 72 74 20 |uf;.{. | short |
|0000a280| 6c 65 6e 3b 0a 20 20 20 | 20 63 68 61 72 20 2a 74 |len;. | char *t|
|0000a290| 6d 70 3b 0a 0a 20 20 20 | 20 77 68 69 6c 65 20 28 |mp;.. | while (|
|0000a2a0| 31 29 0a 20 20 20 20 7b | 0a 20 20 20 20 20 20 20 |1). {|. |
|0000a2b0| 6c 65 6e 20 3d 20 30 3b | 0a 20 20 20 20 20 20 20 |len = 0;|. |
|0000a2c0| 66 70 72 69 6e 74 66 28 | 73 74 64 6f 75 74 2c 22 |fprintf(|stdout,"|
|0000a2d0| 3e 20 22 29 3b 0a 20 20 | 20 20 20 20 20 62 7a 65 |> ");. | bze|
|0000a2e0| 72 6f 28 62 75 66 2c 49 | 4e 50 55 54 42 55 46 53 |ro(buf,I|NPUTBUFS|
|0000a2f0| 49 5a 45 29 3b 0a 20 20 | 20 20 20 20 20 74 6d 70 |IZE);. | tmp|
|0000a300| 20 3d 20 62 75 66 3b 0a | 0a 20 20 20 20 20 20 20 | = buf;.|. |
|0000a310| 77 68 69 6c 65 20 28 31 | 29 0a 20 20 20 20 20 20 |while (1|). |
|0000a320| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 20 66 73 63 | {. | fsc|
|0000a330| 61 6e 66 28 73 74 64 69 | 6e 2c 22 25 63 22 2c 74 |anf(stdi|n,"%c",t|
|0000a340| 6d 70 29 3b 0a 20 20 20 | 20 20 20 20 20 20 20 69 |mp);. | i|
|0000a350| 66 20 28 28 6c 65 6e 20 | 3d 3d 20 30 29 20 26 26 |f ((len |== 0) &&|
|0000a360| 20 28 2a 74 6d 70 20 3d | 3d 20 27 5c 6e 27 29 29 | (*tmp =|= '\n'))|
|0000a370| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 62 72 |. | br|
|0000a380| 65 61 6b 3b 0a 20 20 20 | 20 20 20 20 20 20 20 69 |eak;. | i|
|0000a390| 66 20 28 28 6c 65 6e 20 | 21 3d 20 30 29 20 26 26 |f ((len |!= 0) &&|
|0000a3a0| 20 28 2a 74 6d 70 20 3d | 3d 20 27 5c 6e 27 29 29 | (*tmp =|= '\n'))|
|0000a3b0| 0a 20 20 20 20 20 20 20 | 20 20 20 7b 0a 20 20 20 |. | {. |
|0000a3c0| 20 20 20 20 20 20 20 20 | 20 20 2a 74 6d 70 20 3d | | *tmp =|
|0000a3d0| 20 30 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | 0;. | |
|0000a3e0| 20 72 65 74 75 72 6e 3b | 0a 20 20 20 20 20 20 20 | return;|. |
|0000a3f0| 20 20 20 7d 0a 20 20 20 | 20 20 20 20 20 20 20 69 | }. | i|
|0000a400| 66 20 28 6c 65 6e 2b 2b | 20 3d 3d 20 49 4e 50 55 |f (len++| == INPU|
|0000a410| 54 42 55 46 53 49 5a 45 | 29 0a 20 20 20 20 20 20 |TBUFSIZE|). |
|0000a420| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|0000a430| 20 20 20 66 70 72 69 6e | 74 66 28 73 74 64 6f 75 | fprin|tf(stdou|
|0000a440| 74 2c 22 5c 6e 49 6e 70 | 75 74 20 6c 69 6e 65 20 |t,"\nInp|ut line |
|0000a450| 74 6f 6f 20 6c 6f 6e 67 | 5c 6e 22 29 3b 0a 20 20 |too long|\n");. |
|0000a460| 20 20 20 20 20 20 20 20 | 20 20 20 62 72 65 61 6b | | break|
|0000a470| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 7d 0a 20 20 |;. | }. |
|0000a480| 20 20 20 20 20 20 20 20 | 74 6d 70 2b 2b 3b 0a 20 | |tmp++;. |
|0000a490| 20 20 20 20 20 20 7d 0a | 20 20 20 20 7d 20 20 20 | }.| } |
|0000a4a0| 20 0a 7d 0a 0a 0a 71 75 | 65 72 79 28 29 0a 7b 0a | .}...qu|ery().{.|
|0000a4b0| 20 20 20 20 52 65 66 43 | 6f 6e 50 6b 74 20 20 20 | RefC|onPkt |
|0000a4c0| 20 20 20 20 20 20 72 65 | 70 6c 79 5f 70 6b 74 3b | re|ply_pkt;|
|0000a4d0| 0a 20 20 20 20 63 68 61 | 72 20 20 20 20 20 20 20 |. cha|r |
|0000a4e0| 20 20 20 20 20 20 20 2a | 74 6d 70 3b 0a 20 20 20 | *|tmp;. |
|0000a4f0| 20 73 68 6f 72 74 20 20 | 20 20 20 20 20 20 20 20 | short | |
|0000a500| 20 20 20 6c 65 6e 2c 72 | 65 6d 61 69 6e 64 65 72 | len,r|emainder|
|0000a510| 3b 0a 0a 20 20 20 20 69 | 66 20 28 77 72 69 74 65 |;.. i|f (write|
|0000a520| 28 63 6e 74 72 6c 5f 73 | 6f 63 6b 2c 26 70 6b 74 |(cntrl_s|ock,&pkt|
|0000a530| 2c 6e 74 6f 68 73 28 70 | 6b 74 2e 6d 73 67 5f 6c |,ntohs(p|kt.msg_l|
|0000a540| 65 6e 29 29 20 3d 3d 20 | 2d 31 29 0a 20 20 20 20 |en)) == |-1). |
|0000a550| 7b 0a 20 20 20 20 20 20 | 20 70 65 72 72 6f 72 28 |{. | perror(|
|0000a560| 22 77 72 69 74 65 22 29 | 3b 0a 20 20 20 20 20 20 |"write")|;. |
|0000a570| 20 65 78 69 74 28 31 29 | 3b 0a 20 20 20 20 7d 0a | exit(1)|;. }.|
|0000a580| 0a 20 20 20 20 69 66 20 | 28 28 6c 65 6e 20 3d 20 |. if |((len = |
|0000a590| 72 65 61 64 28 63 6e 74 | 72 6c 5f 73 6f 63 6b 2c |read(cnt|rl_sock,|
|0000a5a0| 26 72 65 70 6c 79 5f 70 | 6b 74 2c 73 69 7a 65 6f |&reply_p|kt,sizeo|
|0000a5b0| 66 28 72 65 70 6c 79 5f | 70 6b 74 29 29 29 20 3d |f(reply_|pkt))) =|
|0000a5c0| 3d 20 2d 31 29 0a 20 20 | 20 20 7b 0a 20 20 20 20 |= -1). | {. |
|0000a5d0| 20 20 20 70 65 72 72 6f | 72 28 22 72 65 61 64 22 | perro|r("read"|
|0000a5e0| 29 3b 0a 20 20 20 20 20 | 20 20 65 78 69 74 28 31 |);. | exit(1|
|0000a5f0| 29 3b 0a 20 20 20 20 7d | 0a 0a 20 20 20 20 69 66 |);. }|.. if|
|0000a600| 20 28 6c 65 6e 20 3d 3d | 20 30 29 0a 20 20 20 20 | (len ==| 0). |
|0000a610| 7b 0a 20 20 20 20 20 20 | 20 66 70 72 69 6e 74 66 |{. | fprintf|
|0000a620| 28 73 74 64 65 72 72 2c | 22 63 6f 6e 6e 65 63 74 |(stderr,|"connect|
|0000a630| 69 6f 6e 20 69 73 20 63 | 6c 6f 73 65 64 5c 6e 22 |ion is c|losed\n"|
|0000a640| 29 3b 0a 20 20 20 20 20 | 20 20 65 78 69 74 28 31 |);. | exit(1|
|0000a650| 29 3b 0a 20 20 20 20 7d | 0a 0a 20 20 20 20 69 66 |);. }|.. if|
|0000a660| 20 28 6c 65 6e 20 3c 20 | 4d 49 4e 52 45 46 50 4b | (len < |MINREFPK|
|0000a670| 54 29 0a 20 20 20 20 7b | 0a 20 20 20 20 20 20 20 |T). {|. |
|0000a680| 66 70 72 69 6e 74 66 28 | 73 74 64 65 72 72 2c 22 |fprintf(|stderr,"|
|0000a690| 6c 65 6e 20 69 73 20 6c | 65 73 73 20 74 68 65 6e |len is l|ess then|
|0000a6a0| 20 4d 49 4e 52 45 46 50 | 4b 54 5c 6e 22 29 3b 0a | MINREFP|KT\n");.|
|0000a6b0| 20 20 20 20 20 20 20 65 | 78 69 74 28 31 29 3b 0a | e|xit(1);.|
|0000a6c0| 20 20 20 20 7d 0a 0a 0a | 20 20 20 20 69 66 20 28 | }...| if (|
|0000a6d0| 6c 65 6e 20 3d 3d 20 6e | 74 6f 68 73 28 72 65 70 |len == n|tohs(rep|
|0000a6e0| 6c 79 5f 70 6b 74 2e 6d | 73 67 5f 6c 65 6e 29 29 |ly_pkt.m|sg_len))|
|0000a6f0| 0a 20 20 20 20 7b 0a 20 | 20 20 20 20 20 20 62 63 |. {. | bc|
|0000a700| 6f 70 79 28 26 72 65 70 | 6c 79 5f 70 6b 74 2c 26 |opy(&rep|ly_pkt,&|
|0000a710| 70 6b 74 2c 6e 74 6f 68 | 73 28 72 65 70 6c 79 5f |pkt,ntoh|s(reply_|
|0000a720| 70 6b 74 2e 6d 73 67 5f | 6c 65 6e 29 29 3b 0a 20 |pkt.msg_|len));. |
|0000a730| 20 20 20 20 20 20 70 6b | 74 2e 6d 73 67 5f 64 61 | pk|t.msg_da|
|0000a740| 74 61 5b 6e 74 6f 68 73 | 28 72 65 70 6c 79 5f 70 |ta[ntohs|(reply_p|
|0000a750| 6b 74 2e 6d 73 67 5f 6c | 65 6e 29 20 2d 20 4d 49 |kt.msg_l|en) - MI|
|0000a760| 4e 52 45 46 50 4b 54 5d | 20 3d 20 30 3b 0a 20 20 |NREFPKT]| = 0;. |
|0000a770| 20 20 20 20 20 72 65 74 | 75 72 6e 3b 0a 20 20 20 | ret|urn;. |
|0000a780| 20 7d 0a 0a 20 20 20 20 | 72 65 6d 61 69 6e 64 65 | }.. |remainde|
|0000a790| 72 20 3d 20 6e 74 6f 68 | 73 28 72 65 70 6c 79 5f |r = ntoh|s(reply_|
|0000a7a0| 70 6b 74 2e 6d 73 67 5f | 6c 65 6e 29 20 2d 20 6c |pkt.msg_|len) - l|
|0000a7b0| 65 6e 3b 0a 20 20 20 20 | 74 6d 70 20 3d 20 28 28 |en;. |tmp = ((|
|0000a7c0| 63 68 61 72 20 2a 29 20 | 26 72 65 70 6c 79 5f 70 |char *) |&reply_p|
|0000a7d0| 6b 74 29 20 2b 20 6c 65 | 6e 3b 0a 0a 20 20 20 20 |kt) + le|n;.. |
|0000a7e0| 77 68 69 6c 65 20 28 72 | 65 6d 61 69 6e 64 65 72 |while (r|emainder|
|0000a7f0| 20 21 3d 20 30 29 0a 20 | 20 20 20 7b 0a 20 20 20 | != 0). | {. |
|0000a800| 20 20 20 20 69 66 20 28 | 28 6c 65 6e 20 3d 20 72 | if (|(len = r|
|0000a810| 65 61 64 28 63 6e 74 72 | 6c 5f 73 6f 63 6b 2c 74 |ead(cntr|l_sock,t|
|0000a820| 6d 70 2c 73 69 7a 65 6f | 66 28 72 65 70 6c 79 5f |mp,sizeo|f(reply_|
|0000a830| 70 6b 74 29 29 29 20 3d | 3d 20 2d 31 29 0a 20 20 |pkt))) =|= -1). |
|0000a840| 20 20 20 20 20 7b 0a 20 | 20 20 20 20 20 20 20 20 | {. | |
|0000a850| 20 70 65 72 72 6f 72 28 | 22 72 65 61 64 22 29 3b | perror(|"read");|
|0000a860| 0a 20 20 20 20 20 20 20 | 20 20 20 65 78 69 74 28 |. | exit(|
|0000a870| 31 29 3b 0a 20 20 20 20 | 20 20 20 7d 0a 20 20 20 |1);. | }. |
|0000a880| 20 20 20 20 74 6d 70 20 | 2b 3d 20 6c 65 6e 3b 0a | tmp |+= len;.|
|0000a890| 20 20 20 20 20 20 20 72 | 65 6d 61 69 6e 64 65 72 | r|emainder|
|0000a8a0| 20 2d 3d 20 6c 65 6e 3b | 0a 20 20 20 20 7d 0a 0a | -= len;|. }..|
|0000a8b0| 20 20 20 20 62 63 6f 70 | 79 28 26 72 65 70 6c 79 | bcop|y(&reply|
|0000a8c0| 5f 70 6b 74 2c 26 70 6b | 74 2c 6e 74 6f 68 73 28 |_pkt,&pk|t,ntohs(|
|0000a8d0| 72 65 70 6c 79 5f 70 6b | 74 2e 6d 73 67 5f 6c 65 |reply_pk|t.msg_le|
|0000a8e0| 6e 29 29 3b 0a 20 20 20 | 20 70 6b 74 2e 6d 73 67 |n));. | pkt.msg|
|0000a8f0| 5f 64 61 74 61 5b 6e 74 | 6f 68 73 28 72 65 70 6c |_data[nt|ohs(repl|
|0000a900| 79 5f 70 6b 74 2e 6d 73 | 67 5f 6c 65 6e 29 20 2d |y_pkt.ms|g_len) -|
|0000a910| 20 4d 49 4e 52 45 46 50 | 4b 54 5d 20 3d 20 30 3b | MINREFP|KT] = 0;|
|0000a920| 0a 7d 0a 3a 20 25 73 20 | 2d 73 20 68 6f 73 74 6e |.}.: %s |-s hostn|
|0000a930| 61 6d 65 5c 6e 22 2c 61 | 72 67 76 5b 30 5d 29 3b |ame\n",a|rgv[0]);|
|0000a940| 0a 20 20 20 20 20 20 20 | 65 78 69 74 28 31 29 3b |. |exit(1);|
|0000a950| 0a 20 20 20 20 7d 0a 0a | 20 20 20 20 69 66 20 28 |. }..| if (|
|0000a960| 28 63 6e 74 72 6c 5f 73 | 6f 63 6b 20 3d 20 73 6f |(cntrl_s|ock = so|
|0000a970| 63 6b 65 74 28 41 46 5f | 49 4e 45 54 2c 53 4f 43 |cket(AF_|INET,SOC|
|0000a980| 4b 5f 53 54 52 45 41 4d | 2c 30 29 29 20 3d 3d 20 |K_STREAM|,0)) == |
|0000a990| 30 29 0a 20 20 20 20 7b | 0a 20 20 20 20 20 20 20 |0). {|. |
|0000a9a0| 70 65 72 72 6f 72 28 22 | 6f 70 65 6e 69 6e 67 20 |perror("|opening |
|0000a9b0| 63 6f 6e 74 72 6f 6c 20 | 73 6f 63 6b 65 74 22 29 |control |socket")|
|0000a9c0| 3b 0a 20 20 20 20 20 20 | 20 65 78 69 74 28 31 29 |;. | exit(1)|
|0000a9d0| 3b 0a 20 20 20 20 7d 0a | 0a 20 20 20 20 72 61 64 |;. }.|. rad|
|0000a9e0| 64 72 2e 73 69 6e 5f 66 | 61 6d 69 6c 79 20 3d 20 |dr.sin_f|amily = |
|0000a9f0| 41 46 5f 49 4e 45 54 3b | 0a 20 20 20 20 62 63 6f |AF_INET;|. bco|
|0000aa00| 32 2e 33 30 62 31 2f 72 | 65 66 6d 6f 6e 2e 68 00 |2.30b1/r|efmon.h.|
|0000aa10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000aa20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000aa30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000aa40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000aa50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000aa60| 00 00 00 00 31 30 30 36 | 34 34 20 00 30 30 30 30 |....1006|44 .0000|
|0000aa70| 30 36 20 00 30 30 30 30 | 30 30 20 00 30 30 30 30 |06 .0000|00 .0000|
|0000aa80| 30 30 30 33 33 35 35 20 | 30 35 36 30 32 36 33 31 |0003355 |05602631|
|0000aa90| 33 33 31 20 30 31 33 36 | 35 32 00 20 30 00 00 00 |331 0136|52. 0...|
|0000aaa0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000aab0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000aac0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000aad0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000aae0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000aaf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000ab00| 00 75 73 74 61 72 00 30 | 30 6c 79 6e 6e 00 00 00 |.ustar.0|0lynn...|
|0000ab10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000ab20| 00 00 00 00 00 00 00 00 | 00 73 79 73 74 65 6d 00 |........|.system.|
|0000ab30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000ab40| 00 00 00 00 00 00 00 00 | 00 30 30 30 30 30 30 20 |........|.000000 |
|0000ab50| 00 30 30 30 30 30 30 20 | 00 00 00 00 00 00 00 00 |.000000 |........|
|0000ab60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000ab70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000ab80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000ab90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000aba0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000abb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000abc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000abd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000abe0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000abf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000ac00| 2f 2a 0a 0a 43 6f 70 79 | 72 69 67 68 74 20 31 39 |/*..Copy|right 19|
|0000ac10| 39 33 2c 20 31 39 39 34 | 2c 20 43 6f 72 6e 65 6c |93, 1994|, Cornel|
|0000ac20| 6c 20 55 6e 69 76 65 72 | 73 69 74 79 0a 0a 43 6f |l Univer|sity..Co|
|0000ac30| 72 6e 65 6c 6c 20 68 65 | 72 65 62 79 20 67 72 61 |rnell he|reby gra|
|0000ac40| 6e 74 73 20 70 65 72 6d | 69 73 73 69 6f 6e 20 74 |nts perm|ission t|
|0000ac50| 6f 20 75 73 65 2c 20 63 | 6f 70 79 2c 20 6d 6f 64 |o use, c|opy, mod|
|0000ac60| 69 66 79 2c 20 61 6e 64 | 20 64 69 73 74 72 69 62 |ify, and| distrib|
|0000ac70| 75 74 65 20 74 68 69 73 | 20 70 72 6f 67 72 61 6d |ute this| program|
|0000ac80| 20 66 6f 72 20 61 6e 79 | 20 70 75 72 70 6f 73 65 | for any| purpose|
|0000ac90| 20 0a 61 6e 64 20 77 69 | 74 68 6f 75 74 20 66 65 | .and wi|thout fe|
|0000aca0| 65 2c 20 70 72 6f 76 69 | 64 65 64 20 74 68 61 74 |e, provi|ded that|
|0000acb0| 20 74 68 65 73 65 20 63 | 6f 70 79 72 69 67 68 74 | these c|opyright|
|0000acc0| 20 61 6e 64 20 70 65 72 | 6d 69 73 73 69 6f 6e 20 | and per|mission |
|0000acd0| 6e 6f 74 69 63 65 73 20 | 61 70 70 65 61 72 20 6f |notices |appear o|
|0000ace0| 6e 20 61 6c 6c 20 63 6f | 70 69 65 73 20 61 6e 64 |n all co|pies and|
|0000acf0| 20 0a 73 75 70 70 6f 72 | 74 69 6e 67 20 64 6f 63 | .suppor|ting doc|
|0000ad00| 75 6d 65 6e 74 61 74 69 | 6f 6e 2c 20 74 68 65 20 |umentati|on, the |
|0000ad10| 6e 61 6d 65 20 6f 66 20 | 43 6f 72 6e 65 6c 6c 20 |name of |Cornell |
|0000ad20| 6e 6f 74 20 62 65 20 75 | 73 65 64 20 69 6e 20 61 |not be u|sed in a|
|0000ad30| 64 76 65 72 74 69 73 69 | 6e 67 20 6f 72 20 70 75 |dvertisi|ng or pu|
|0000ad40| 62 6c 69 63 69 74 79 20 | 70 65 72 74 61 69 6e 69 |blicity |pertaini|
|0000ad50| 6e 67 20 0a 74 6f 20 64 | 69 73 74 72 69 62 75 74 |ng .to d|istribut|
|0000ad60| 69 6f 6e 20 6f 66 20 74 | 68 65 20 70 72 6f 67 72 |ion of t|he progr|
|0000ad70| 61 6d 20 77 69 74 68 6f | 75 74 20 73 70 65 63 69 |am witho|ut speci|
|0000ad80| 66 69 63 20 70 72 69 6f | 72 20 70 65 72 6d 69 73 |fic prio|r permis|
|0000ad90| 73 69 6f 6e 2c 20 6e 6f | 74 69 63 65 20 62 65 20 |sion, no|tice be |
|0000ada0| 67 69 76 65 6e 20 69 6e | 20 73 75 70 70 6f 72 74 |given in| support|
|0000adb0| 69 6e 67 20 0a 64 6f 63 | 75 6d 65 6e 74 61 74 69 |ing .doc|umentati|
|0000adc0| 6f 6e 20 74 68 61 74 20 | 63 6f 70 79 69 6e 67 20 |on that |copying |
|0000add0| 61 6e 64 20 64 69 73 74 | 72 69 62 75 74 69 6f 6e |and dist|ribution|
|0000ade0| 20 69 73 20 62 79 20 70 | 65 72 6d 69 73 73 69 6f | is by p|ermissio|
|0000adf0| 6e 20 6f 66 20 43 6f 72 | 6e 65 6c 6c 2e 20 20 43 |n of Cor|nell. C|
|0000ae00| 4f 52 4e 45 4c 4c 20 4d | 41 4b 45 53 20 4e 4f 20 |ORNELL M|AKES NO |
|0000ae10| 0a 52 45 50 52 45 53 45 | 4e 54 41 54 49 4f 4e 53 |.REPRESE|NTATIONS|
|0000ae20| 20 4f 52 20 57 41 52 52 | 41 4e 54 45 45 53 2c 20 | OR WARR|ANTEES, |
|0000ae30| 45 58 50 52 45 53 53 20 | 4f 52 20 49 4d 50 4c 49 |EXPRESS |OR IMPLI|
|0000ae40| 45 44 2e 20 20 42 79 20 | 77 61 79 20 6f 66 20 65 |ED. By |way of e|
|0000ae50| 78 61 6d 70 6c 65 2c 20 | 62 75 74 20 6e 6f 74 20 |xample, |but not |
|0000ae60| 6c 69 6d 69 74 61 74 69 | 6f 6e 2c 20 0a 43 4f 52 |limitati|on, .COR|
|0000ae70| 4e 45 4c 4c 20 4d 41 4b | 45 53 20 4e 4f 20 52 45 |NELL MAK|ES NO RE|
|0000ae80| 50 52 45 53 45 4e 54 41 | 54 49 4f 4e 53 20 4f 52 |PRESENTA|TIONS OR|
|0000ae90| 20 57 41 52 52 41 4e 54 | 49 45 53 20 4f 46 20 4d | WARRANT|IES OF M|
|0000aea0| 45 52 43 48 41 4e 54 41 | 42 49 4c 49 54 59 20 4f |ERCHANTA|BILITY O|
|0000aeb0| 52 20 46 49 54 4e 45 53 | 53 20 46 4f 52 20 41 4e |R FITNES|S FOR AN|
|0000aec0| 59 20 50 41 52 54 49 43 | 55 4c 41 52 20 0a 50 55 |Y PARTIC|ULAR .PU|
|0000aed0| 52 50 4f 53 45 20 4f 52 | 20 54 48 41 54 20 54 48 |RPOSE OR| THAT TH|
|0000aee0| 45 20 55 53 45 20 4f 46 | 20 54 48 49 53 20 53 4f |E USE OF| THIS SO|
|0000aef0| 46 54 57 41 52 45 20 4f | 52 20 44 4f 43 55 4d 45 |FTWARE O|R DOCUME|
|0000af00| 4e 54 41 54 49 4f 4e 20 | 57 49 4c 4c 20 4e 4f 54 |NTATION |WILL NOT|
|0000af10| 20 49 4e 46 52 49 4e 47 | 45 20 41 4e 59 20 50 41 | INFRING|E ANY PA|
|0000af20| 54 45 4e 54 53 2c 20 43 | 4f 50 59 52 49 47 48 54 |TENTS, C|OPYRIGHT|
|0000af30| 53 2c 20 0a 54 52 41 44 | 45 4d 41 52 4b 53 2c 20 |S, .TRAD|EMARKS, |
|0000af40| 4f 52 20 4f 54 48 45 52 | 20 52 49 47 48 54 53 2e |OR OTHER| RIGHTS.|
|0000af50| 20 20 43 6f 72 6e 65 6c | 6c 20 73 68 61 6c 6c 20 | Cornel|l shall |
|0000af60| 6e 6f 74 20 62 65 20 68 | 65 6c 64 20 6c 69 61 62 |not be h|eld liab|
|0000af70| 6c 65 20 66 6f 72 20 61 | 6e 79 20 6c 69 61 62 69 |le for a|ny liabi|
|0000af80| 6c 69 74 79 20 77 69 74 | 68 20 72 65 73 70 65 63 |lity wit|h respec|
|0000af90| 74 20 74 6f 20 0a 61 6e | 79 20 63 6c 61 69 6d 20 |t to .an|y claim |
|0000afa0| 62 79 20 74 68 65 20 75 | 73 65 72 20 6f 72 20 61 |by the u|ser or a|
|0000afb0| 6e 79 20 6f 74 68 65 72 | 20 70 61 72 74 79 20 61 |ny other| party a|
|0000afc0| 72 69 73 69 6e 67 20 66 | 72 6f 6d 20 75 73 65 20 |rising f|rom use |
|0000afd0| 6f 66 20 74 68 65 20 70 | 72 6f 67 72 61 6d 2e 0a |of the p|rogram..|
|0000afe0| 0a 54 68 69 73 20 6d 61 | 74 65 72 69 61 6c 20 69 |.This ma|terial i|
|0000aff0| 73 20 70 61 72 74 69 61 | 6c 6c 79 20 62 61 73 65 |s partia|lly base|
|0000b000| 64 20 6f 6e 20 77 6f 72 | 6b 20 73 70 6f 6e 73 6f |d on wor|k sponso|
|0000b010| 72 65 64 20 62 79 20 74 | 68 65 20 4e 61 74 69 6f |red by t|he Natio|
|0000b020| 6e 61 6c 20 53 63 69 65 | 6e 63 65 20 46 6f 75 6e |nal Scie|nce Foun|
|0000b030| 64 61 74 69 6f 6e 20 75 | 6e 64 65 72 20 43 6f 6f |dation u|nder Coo|
|0000b040| 70 65 72 61 74 69 76 65 | 20 0a 41 67 72 65 65 6d |perative| .Agreem|
|0000b050| 65 6e 74 20 4e 6f 2e 20 | 4e 43 52 2d 39 33 31 38 |ent No. |NCR-9318|
|0000b060| 33 33 37 2e 20 20 54 68 | 65 20 67 6f 76 65 72 6e |337. Th|e govern|
|0000b070| 6d 65 6e 74 20 68 61 73 | 20 63 65 72 74 61 69 6e |ment has| certain|
|0000b080| 20 72 69 67 68 74 73 20 | 69 6e 20 74 68 69 73 20 | rights |in this |
|0000b090| 6d 61 74 65 72 69 61 6c | 2e 0a 0a 2a 2f 0a 0a 0a |material|...*/...|
|0000b0a0| 0a 23 64 65 66 69 6e 65 | 20 4d 41 58 44 41 54 41 |.#define| MAXDATA|
|0000b0b0| 4c 45 4e 20 38 30 39 36 | 20 0a 23 64 65 66 69 6e |LEN 8096| .#defin|
|0000b0c0| 65 20 4d 49 4e 52 45 46 | 50 4b 54 20 20 20 34 0a |e MINREF|PKT 4.|
|0000b0d0| 0a 2f 2a 20 20 6d 6f 6e | 69 74 6f 72 20 72 65 71 |./* mon|itor req|
|0000b0e0| 75 65 73 74 73 09 09 2a | 2f 0a 0a 23 64 65 66 69 |uests..*|/..#defi|
|0000b0f0| 6e 65 20 56 45 52 53 49 | 4f 4e 20 09 31 09 09 09 |ne VERSI|ON .1...|
|0000b100| 2f 2a 20 72 65 74 75 72 | 6e 20 74 68 65 20 76 65 |/* retur|n the ve|
|0000b110| 72 73 69 6f 6e 20 2a 2f | 0a 23 64 65 66 69 6e 65 |rsion */|.#define|
|0000b120| 20 57 48 4f 20 09 20 20 | 20 20 20 20 20 20 32 09 | WHO . | 2.|
|0000b130| 09 09 2f 2a 20 72 65 74 | 75 72 6e 20 63 6f 6e 66 |../* ret|urn conf|
|0000b140| 65 72 65 6e 63 65 20 70 | 61 72 74 69 63 69 70 61 |erence p|articipa|
|0000b150| 6e 74 73 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 54 |nts */.#|define T|
|0000b160| 45 52 4d 20 09 20 20 20 | 20 20 20 20 20 33 09 09 |ERM . | 3..|
|0000b170| 09 2f 2a 20 74 65 72 6d | 69 6e 61 74 65 20 74 68 |./* term|inate th|
|0000b180| 65 20 72 65 66 6c 65 63 | 74 6f 72 20 20 20 20 20 |e reflec|tor |
|0000b190| 20 20 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 50 41 | */.#d|efine PA|
|0000b1a0| 52 41 4d 20 09 20 20 20 | 20 20 20 20 20 34 09 09 |RAM . | 4..|
|0000b1b0| 09 2f 2a 20 72 65 74 75 | 72 6e 20 74 68 65 20 70 |./* retu|rn the p|
|0000b1c0| 61 72 61 6d 61 74 65 72 | 20 6c 69 73 74 20 20 20 |aramater| list |
|0000b1d0| 20 20 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 4d 41 | */.#d|efine MA|
|0000b1e0| 56 45 4e 20 20 20 20 20 | 20 20 20 20 20 20 35 20 |VEN | 5 |
|0000b1f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|0000b200| 20 20 20 20 20 20 2f 2a | 20 72 65 74 75 72 6e 20 | /*| return |
|0000b210| 74 68 65 20 4d 41 56 45 | 4e 20 63 6c 69 65 6e 74 |the MAVE|N client|
|0000b220| 20 6c 69 73 74 20 20 20 | 2a 2f 0a 23 64 65 66 69 | list |*/.#defi|
|0000b230| 6e 65 20 55 50 54 49 4d | 45 20 20 20 20 20 20 20 |ne UPTIM|E |
|0000b240| 20 20 20 36 20 20 20 20 | 20 20 20 20 20 20 20 20 | 6 | |
|0000b250| 20 20 20 20 20 20 20 20 | 20 20 20 2f 2a 20 72 65 | | /* re|
|0000b260| 74 75 72 6e 20 74 68 65 | 20 73 74 61 72 74 20 74 |turn the| start t|
|0000b270| 69 6d 65 20 20 20 20 20 | 20 20 20 20 20 2a 2f 0a |ime | */.|
|0000b280| 0a 74 79 70 65 64 65 66 | 20 73 74 72 75 63 74 20 |.typedef| struct |
|0000b290| 52 65 66 43 6f 6e 50 6b | 74 0a 7b 0a 20 20 20 73 |RefConPk|t.{. s|
|0000b2a0| 68 6f 72 74 20 6d 73 67 | 5f 74 79 70 65 3b 0a 20 |hort msg|_type;. |
|0000b2b0| 20 20 73 68 6f 72 74 20 | 6d 73 67 5f 6c 65 6e 3b | short |msg_len;|
|0000b2c0| 0a 20 20 20 63 68 61 72 | 20 20 6d 73 67 5f 64 61 |. char| msg_da|
|0000b2d0| 74 61 5b 4d 41 58 44 41 | 54 41 4c 45 4e 5d 3b 0a |ta[MAXDA|TALEN];.|
|0000b2e0| 7d 20 52 65 66 43 6f 6e | 50 6b 74 3b 0a 6e 29 29 |} RefCon|Pkt;.n))|
|0000b2f0| 0a 20 20 20 20 7b 0a 20 | 20 20 20 20 20 20 62 63 |. {. | bc|
|0000b300| 6f 70 79 28 26 72 65 70 | 6c 79 5f 70 6b 74 2c 26 |opy(&rep|ly_pkt,&|
|0000b310| 70 6b 74 2c 6e 74 6f 68 | 73 28 72 65 70 6c 79 5f |pkt,ntoh|s(reply_|
|0000b320| 70 6b 74 2e 6d 73 67 5f | 6c 65 6e 29 29 3b 0a 20 |pkt.msg_|len));. |
|0000b330| 20 20 20 20 20 20 70 6b | 74 2e 6d 73 67 5f 64 61 | pk|t.msg_da|
|0000b340| 74 61 5b 6e 74 6f 68 73 | 28 72 65 70 6c 79 5f 70 |ta[ntohs|(reply_p|
|0000b350| 6b 74 2e 6d 73 67 5f 6c | 65 6e 29 20 2d 20 4d 49 |kt.msg_l|en) - MI|
|0000b360| 4e 52 45 46 50 4b 54 5d | 20 3d 20 30 3b 0a 20 20 |NREFPKT]| = 0;. |
|0000b370| 20 20 20 20 20 72 65 74 | 75 72 6e 3b 0a 20 20 20 | ret|urn;. |
|0000b380| 20 7d 0a 0a 20 20 20 20 | 72 65 6d 61 69 6e 64 65 | }.. |remainde|
|0000b390| 72 20 3d 20 6e 74 6f 68 | 73 28 72 65 70 6c 79 5f |r = ntoh|s(reply_|
|0000b3a0| 70 6b 74 2e 6d 73 67 5f | 6c 65 6e 29 20 2d 20 6c |pkt.msg_|len) - l|
|0000b3b0| 65 6e 3b 0a 20 20 20 20 | 74 6d 70 20 3d 20 28 28 |en;. |tmp = ((|
|0000b3c0| 63 68 61 72 20 2a 29 20 | 26 72 65 70 6c 79 5f 70 |char *) |&reply_p|
|0000b3d0| 6b 74 29 20 2b 20 6c 65 | 6e 3b 0a 0a 20 20 20 20 |kt) + le|n;.. |
|0000b3e0| 77 68 69 6c 65 20 28 72 | 65 6d 61 69 6e 64 65 72 |while (r|emainder|
|0000b3f0| 20 21 3d 20 30 29 0a 20 | 20 20 20 7b 0a 20 20 20 | != 0). | {. |
|0000b400| 32 2e 33 30 62 31 2f 73 | 6f 63 6b 65 74 2e 63 00 |2.30b1/s|ocket.c.|
|0000b410| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b420| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b430| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b440| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b450| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b460| 00 00 00 00 31 30 30 36 | 34 34 20 00 30 30 30 30 |....1006|44 .0000|
|0000b470| 30 36 20 00 30 30 30 30 | 30 30 20 00 30 30 30 30 |06 .0000|00 .0000|
|0000b480| 30 30 32 36 31 34 32 20 | 30 35 36 30 32 36 33 31 |0026142 |05602631|
|0000b490| 33 33 32 20 30 31 33 36 | 34 37 00 20 30 00 00 00 |332 0136|47. 0...|
|0000b4a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b4b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b4c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b4d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b4e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b4f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b500| 00 75 73 74 61 72 00 30 | 30 6c 79 6e 6e 00 00 00 |.ustar.0|0lynn...|
|0000b510| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b520| 00 00 00 00 00 00 00 00 | 00 73 79 73 74 65 6d 00 |........|.system.|
|0000b530| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b540| 00 00 00 00 00 00 00 00 | 00 30 30 30 30 30 30 20 |........|.000000 |
|0000b550| 00 30 30 30 30 30 30 20 | 00 00 00 00 00 00 00 00 |.000000 |........|
|0000b560| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b570| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b580| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b590| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b5a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b5b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b5c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b5d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b5e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b5f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000b600| 2f 2a 0a 0a 43 6f 70 79 | 72 69 67 68 74 20 31 39 |/*..Copy|right 19|
|0000b610| 39 33 2c 20 31 39 39 34 | 2c 20 43 6f 72 6e 65 6c |93, 1994|, Cornel|
|0000b620| 6c 20 55 6e 69 76 65 72 | 73 69 74 79 0a 0a 43 6f |l Univer|sity..Co|
|0000b630| 72 6e 65 6c 6c 20 68 65 | 72 65 62 79 20 67 72 61 |rnell he|reby gra|
|0000b640| 6e 74 73 20 70 65 72 6d | 69 73 73 69 6f 6e 20 74 |nts perm|ission t|
|0000b650| 6f 20 75 73 65 2c 20 63 | 6f 70 79 2c 20 6d 6f 64 |o use, c|opy, mod|
|0000b660| 69 66 79 2c 20 61 6e 64 | 20 64 69 73 74 72 69 62 |ify, and| distrib|
|0000b670| 75 74 65 20 74 68 69 73 | 20 70 72 6f 67 72 61 6d |ute this| program|
|0000b680| 20 66 6f 72 20 61 6e 79 | 20 70 75 72 70 6f 73 65 | for any| purpose|
|0000b690| 20 0a 61 6e 64 20 77 69 | 74 68 6f 75 74 20 66 65 | .and wi|thout fe|
|0000b6a0| 65 2c 20 70 72 6f 76 69 | 64 65 64 20 74 68 61 74 |e, provi|ded that|
|0000b6b0| 20 74 68 65 73 65 20 63 | 6f 70 79 72 69 67 68 74 | these c|opyright|
|0000b6c0| 20 61 6e 64 20 70 65 72 | 6d 69 73 73 69 6f 6e 20 | and per|mission |
|0000b6d0| 6e 6f 74 69 63 65 73 20 | 61 70 70 65 61 72 20 6f |notices |appear o|
|0000b6e0| 6e 20 61 6c 6c 20 63 6f | 70 69 65 73 20 61 6e 64 |n all co|pies and|
|0000b6f0| 20 0a 73 75 70 70 6f 72 | 74 69 6e 67 20 64 6f 63 | .suppor|ting doc|
|0000b700| 75 6d 65 6e 74 61 74 69 | 6f 6e 2c 20 74 68 65 20 |umentati|on, the |
|0000b710| 6e 61 6d 65 20 6f 66 20 | 43 6f 72 6e 65 6c 6c 20 |name of |Cornell |
|0000b720| 6e 6f 74 20 62 65 20 75 | 73 65 64 20 69 6e 20 61 |not be u|sed in a|
|0000b730| 64 76 65 72 74 69 73 69 | 6e 67 20 6f 72 20 70 75 |dvertisi|ng or pu|
|0000b740| 62 6c 69 63 69 74 79 20 | 70 65 72 74 61 69 6e 69 |blicity |pertaini|
|0000b750| 6e 67 20 0a 74 6f 20 64 | 69 73 74 72 69 62 75 74 |ng .to d|istribut|
|0000b760| 69 6f 6e 20 6f 66 20 74 | 68 65 20 70 72 6f 67 72 |ion of t|he progr|
|0000b770| 61 6d 20 77 69 74 68 6f | 75 74 20 73 70 65 63 69 |am witho|ut speci|
|0000b780| 66 69 63 20 70 72 69 6f | 72 20 70 65 72 6d 69 73 |fic prio|r permis|
|0000b790| 73 69 6f 6e 2c 20 6e 6f | 74 69 63 65 20 62 65 20 |sion, no|tice be |
|0000b7a0| 67 69 76 65 6e 20 69 6e | 20 73 75 70 70 6f 72 74 |given in| support|
|0000b7b0| 69 6e 67 20 0a 64 6f 63 | 75 6d 65 6e 74 61 74 69 |ing .doc|umentati|
|0000b7c0| 6f 6e 20 74 68 61 74 20 | 63 6f 70 79 69 6e 67 20 |on that |copying |
|0000b7d0| 61 6e 64 20 64 69 73 74 | 72 69 62 75 74 69 6f 6e |and dist|ribution|
|0000b7e0| 20 69 73 20 62 79 20 70 | 65 72 6d 69 73 73 69 6f | is by p|ermissio|
|0000b7f0| 6e 20 6f 66 20 43 6f 72 | 6e 65 6c 6c 2e 20 20 43 |n of Cor|nell. C|
|0000b800| 4f 52 4e 45 4c 4c 20 4d | 41 4b 45 53 20 4e 4f 20 |ORNELL M|AKES NO |
|0000b810| 0a 52 45 50 52 45 53 45 | 4e 54 41 54 49 4f 4e 53 |.REPRESE|NTATIONS|
|0000b820| 20 4f 52 20 57 41 52 52 | 41 4e 54 45 45 53 2c 20 | OR WARR|ANTEES, |
|0000b830| 45 58 50 52 45 53 53 20 | 4f 52 20 49 4d 50 4c 49 |EXPRESS |OR IMPLI|
|0000b840| 45 44 2e 20 20 42 79 20 | 77 61 79 20 6f 66 20 65 |ED. By |way of e|
|0000b850| 78 61 6d 70 6c 65 2c 20 | 62 75 74 20 6e 6f 74 20 |xample, |but not |
|0000b860| 6c 69 6d 69 74 61 74 69 | 6f 6e 2c 20 0a 43 4f 52 |limitati|on, .COR|
|0000b870| 4e 45 4c 4c 20 4d 41 4b | 45 53 20 4e 4f 20 52 45 |NELL MAK|ES NO RE|
|0000b880| 50 52 45 53 45 4e 54 41 | 54 49 4f 4e 53 20 4f 52 |PRESENTA|TIONS OR|
|0000b890| 20 57 41 52 52 41 4e 54 | 49 45 53 20 4f 46 20 4d | WARRANT|IES OF M|
|0000b8a0| 45 52 43 48 41 4e 54 41 | 42 49 4c 49 54 59 20 4f |ERCHANTA|BILITY O|
|0000b8b0| 52 20 46 49 54 4e 45 53 | 53 20 46 4f 52 20 41 4e |R FITNES|S FOR AN|
|0000b8c0| 59 20 50 41 52 54 49 43 | 55 4c 41 52 20 0a 50 55 |Y PARTIC|ULAR .PU|
|0000b8d0| 52 50 4f 53 45 20 4f 52 | 20 54 48 41 54 20 54 48 |RPOSE OR| THAT TH|
|0000b8e0| 45 20 55 53 45 20 4f 46 | 20 54 48 49 53 20 53 4f |E USE OF| THIS SO|
|0000b8f0| 46 54 57 41 52 45 20 4f | 52 20 44 4f 43 55 4d 45 |FTWARE O|R DOCUME|
|0000b900| 4e 54 41 54 49 4f 4e 20 | 57 49 4c 4c 20 4e 4f 54 |NTATION |WILL NOT|
|0000b910| 20 49 4e 46 52 49 4e 47 | 45 20 41 4e 59 20 50 41 | INFRING|E ANY PA|
|0000b920| 54 45 4e 54 53 2c 20 43 | 4f 50 59 52 49 47 48 54 |TENTS, C|OPYRIGHT|
|0000b930| 53 2c 20 0a 54 52 41 44 | 45 4d 41 52 4b 53 2c 20 |S, .TRAD|EMARKS, |
|0000b940| 4f 52 20 4f 54 48 45 52 | 20 52 49 47 48 54 53 2e |OR OTHER| RIGHTS.|
|0000b950| 20 20 43 6f 72 6e 65 6c | 6c 20 73 68 61 6c 6c 20 | Cornel|l shall |
|0000b960| 6e 6f 74 20 62 65 20 68 | 65 6c 64 20 6c 69 61 62 |not be h|eld liab|
|0000b970| 6c 65 20 66 6f 72 20 61 | 6e 79 20 6c 69 61 62 69 |le for a|ny liabi|
|0000b980| 6c 69 74 79 20 77 69 74 | 68 20 72 65 73 70 65 63 |lity wit|h respec|
|0000b990| 74 20 74 6f 20 0a 61 6e | 79 20 63 6c 61 69 6d 20 |t to .an|y claim |
|0000b9a0| 62 79 20 74 68 65 20 75 | 73 65 72 20 6f 72 20 61 |by the u|ser or a|
|0000b9b0| 6e 79 20 6f 74 68 65 72 | 20 70 61 72 74 79 20 61 |ny other| party a|
|0000b9c0| 72 69 73 69 6e 67 20 66 | 72 6f 6d 20 75 73 65 20 |rising f|rom use |
|0000b9d0| 6f 66 20 74 68 65 20 70 | 72 6f 67 72 61 6d 2e 0a |of the p|rogram..|
|0000b9e0| 0a 54 68 69 73 20 6d 61 | 74 65 72 69 61 6c 20 69 |.This ma|terial i|
|0000b9f0| 73 20 70 61 72 74 69 61 | 6c 6c 79 20 62 61 73 65 |s partia|lly base|
|0000ba00| 64 20 6f 6e 20 77 6f 72 | 6b 20 73 70 6f 6e 73 6f |d on wor|k sponso|
|0000ba10| 72 65 64 20 62 79 20 74 | 68 65 20 4e 61 74 69 6f |red by t|he Natio|
|0000ba20| 6e 61 6c 20 53 63 69 65 | 6e 63 65 20 46 6f 75 6e |nal Scie|nce Foun|
|0000ba30| 64 61 74 69 6f 6e 20 75 | 6e 64 65 72 20 43 6f 6f |dation u|nder Coo|
|0000ba40| 70 65 72 61 74 69 76 65 | 20 0a 41 67 72 65 65 6d |perative| .Agreem|
|0000ba50| 65 6e 74 20 4e 6f 2e 20 | 4e 43 52 2d 39 33 31 38 |ent No. |NCR-9318|
|0000ba60| 33 33 37 2e 20 20 54 68 | 65 20 67 6f 76 65 72 6e |337. Th|e govern|
|0000ba70| 6d 65 6e 74 20 68 61 73 | 20 63 65 72 74 61 69 6e |ment has| certain|
|0000ba80| 20 72 69 67 68 74 73 20 | 69 6e 20 74 68 69 73 20 | rights |in this |
|0000ba90| 6d 61 74 65 72 69 61 6c | 2e 0a 0a 2a 2f 0a 0a 0a |material|...*/...|
|0000baa0| 0a 23 69 6e 63 6c 75 64 | 65 20 3c 73 74 64 69 6f |.#includ|e <stdio|
|0000bab0| 2e 68 3e 0a 23 69 6e 63 | 6c 75 64 65 20 3c 73 69 |.h>.#inc|lude <si|
|0000bac0| 67 6e 61 6c 2e 68 3e 0a | 23 69 6e 63 6c 75 64 65 |gnal.h>.|#include|
|0000bad0| 20 3c 73 79 73 2f 70 61 | 72 61 6d 2e 68 3e 0a 23 | <sys/pa|ram.h>.#|
|0000bae0| 69 6e 63 6c 75 64 65 20 | 3c 73 79 73 2f 66 69 6c |include |<sys/fil|
|0000baf0| 65 2e 68 3e 0a 23 69 6e | 63 6c 75 64 65 20 3c 73 |e.h>.#in|clude <s|
|0000bb00| 79 73 2f 74 79 70 65 73 | 2e 68 3e 0a 23 69 6e 63 |ys/types|.h>.#inc|
|0000bb10| 6c 75 64 65 20 3c 73 79 | 73 2f 73 6f 63 6b 65 74 |lude <sy|s/socket|
|0000bb20| 2e 68 3e 0a 23 69 6e 63 | 6c 75 64 65 20 3c 73 79 |.h>.#inc|lude <sy|
|0000bb30| 73 2f 73 6f 63 6b 65 74 | 76 61 72 2e 68 3e 0a 23 |s/socket|var.h>.#|
|0000bb40| 69 6e 63 6c 75 64 65 20 | 3c 6e 65 74 69 6e 65 74 |include |<netinet|
|0000bb50| 2f 69 6e 2e 68 3e 0a 0a | 23 69 6e 63 6c 75 64 65 |/in.h>..|#include|
|0000bb60| 20 3c 75 6e 69 73 74 64 | 2e 68 3e 0a 23 69 6e 63 | <unistd|.h>.#inc|
|0000bb70| 6c 75 64 65 20 3c 66 63 | 6e 74 6c 2e 68 3e 0a 0a |lude <fc|ntl.h>..|
|0000bb80| 23 69 6e 63 6c 75 64 65 | 20 3c 73 79 73 2f 74 69 |#include| <sys/ti|
|0000bb90| 6d 65 2e 68 3e 0a 23 69 | 6e 63 6c 75 64 65 20 3c |me.h>.#i|nclude <|
|0000bba0| 65 72 72 6e 6f 2e 68 3e | 0a 23 69 6e 63 6c 75 64 |errno.h>|.#includ|
|0000bbb0| 65 20 22 72 65 66 6c 65 | 63 74 2e 68 22 0a 0a 23 |e "refle|ct.h"..#|
|0000bbc0| 69 66 64 65 66 20 44 45 | 42 55 47 0a 65 78 74 65 |ifdef DE|BUG.exte|
|0000bbd0| 72 6e 20 73 68 6f 72 74 | 20 64 65 62 75 67 3b 0a |rn short| debug;.|
|0000bbe0| 23 65 6e 64 69 66 0a 0a | 0a 76 6f 69 64 20 20 20 |#endif..|.void |
|0000bbf0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 6d 79 5f | | my_|
|0000bc00| 70 65 72 72 6f 72 28 29 | 3b 0a 0a 65 78 74 65 72 |perror()|;..exter|
|0000bc10| 6e 20 73 68 6f 72 74 20 | 20 20 20 20 20 20 20 20 |n short | |
|0000bc20| 20 20 20 20 20 20 20 74 | 69 6d 65 72 5f 65 78 70 | t|imer_exp|
|0000bc30| 69 72 65 64 3b 0a 65 78 | 74 65 72 6e 20 69 6e 74 |ired;.ex|tern int|
|0000bc40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|0000bc50| 20 20 76 69 64 5f 73 6f | 63 6b 2c 63 6e 74 72 6c | vid_so|ck,cntrl|
|0000bc60| 5f 73 6f 63 6b 2c 6d 73 | 67 5f 73 6f 63 6b 3b 0a |_sock,ms|g_sock;.|
|0000bc70| 65 78 74 65 72 6e 20 69 | 6e 74 20 20 20 20 20 20 |extern i|nt |
|0000bc80| 20 20 20 20 20 20 20 20 | 20 20 20 20 6d 61 76 65 | | mave|
|0000bc90| 6e 5f 73 6f 63 6b 2c 6d | 61 76 65 6e 5f 63 6e 74 |n_sock,m|aven_cnt|
|0000bca0| 6c 5f 73 6f 63 6b 2c 6d | 61 76 65 6e 5f 70 6f 72 |l_sock,m|aven_por|
|0000bcb0| 74 3b 0a 65 78 74 65 72 | 6e 20 75 6e 73 69 67 6e |t;.exter|n unsign|
|0000bcc0| 65 64 20 6c 6f 6e 67 20 | 20 20 20 20 20 20 20 63 |ed long | c|
|0000bcd0| 6f 6e 74 72 6f 6c 5f 69 | 70 3b 0a 0a 23 69 66 64 |ontrol_i|p;..#ifd|
|0000bce0| 65 66 20 4d 55 4c 54 49 | 0a 65 78 74 65 72 6e 20 |ef MULTI|.extern |
|0000bcf0| 69 6e 74 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |int | |
|0000bd00| 20 20 20 20 20 6e 76 5f | 6d 63 61 73 74 5f 73 6f | nv_|mcast_so|
|0000bd10| 63 6b 2c 72 66 69 6e 5f | 6d 63 61 73 74 5f 73 6f |ck,rfin_|mcast_so|
|0000bd20| 63 6b 2c 72 66 6f 75 74 | 5f 6d 63 61 73 74 5f 73 |ck,rfout|_mcast_s|
|0000bd30| 6f 63 6b 2c 69 6e 6f 75 | 74 5f 6d 63 61 73 74 5f |ock,inou|t_mcast_|
|0000bd40| 73 6f 63 6b 3b 0a 65 78 | 74 65 72 6e 20 73 74 72 |sock;.ex|tern str|
|0000bd50| 75 63 74 20 73 6f 63 6b | 61 64 64 72 5f 69 6e 20 |uct sock|addr_in |
|0000bd60| 20 20 6e 76 5f 6d 63 61 | 73 74 2c 72 66 69 6e 5f | nv_mca|st,rfin_|
|0000bd70| 6d 63 61 73 74 2c 72 66 | 6f 75 74 5f 6d 63 61 73 |mcast,rf|out_mcas|
|0000bd80| 74 2c 69 6e 6f 75 74 5f | 6d 63 61 73 74 3b 0a 65 |t,inout_|mcast;.e|
|0000bd90| 78 74 65 72 6e 20 69 6e | 74 20 20 20 20 20 20 20 |xtern in|t |
|0000bda0| 20 20 20 20 20 20 20 20 | 20 20 20 6e 76 5f 74 74 | | nv_tt|
|0000bdb0| 6c 2c 72 66 5f 74 74 6c | 2c 69 6e 6f 75 74 5f 74 |l,rf_ttl|,inout_t|
|0000bdc0| 74 6c 3b 0a 23 65 6e 64 | 69 66 0a 0a 63 68 61 72 |tl;.#end|if..char|
|0000bdd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|0000bde0| 20 20 20 20 20 20 20 20 | 68 6f 73 74 6e 61 6d 65 | |hostname|
|0000bdf0| 5b 4d 41 58 48 4f 53 54 | 4e 41 4d 45 4c 45 4e 5d |[MAXHOST|NAMELEN]|
|0000be00| 3b 0a 0a 0a 76 6f 69 64 | 20 69 6e 69 74 5f 73 6f |;...void| init_so|
|0000be10| 63 6b 65 74 28 29 0a 7b | 0a 20 20 20 20 73 74 72 |cket().{|. str|
|0000be20| 75 63 74 20 73 6f 63 6b | 61 64 64 72 5f 69 6e 20 |uct sock|addr_in |
|0000be30| 20 73 61 64 64 72 3b 0a | 23 69 66 64 65 66 20 4d | saddr;.|#ifdef M|
|0000be40| 55 4c 54 49 0a 20 20 20 | 20 73 74 72 75 63 74 20 |ULTI. | struct |
|0000be50| 69 70 5f 6d 72 65 71 20 | 6d 72 65 71 3b 0a 23 65 |ip_mreq |mreq;.#e|
|0000be60| 6e 64 69 66 0a 20 20 20 | 20 75 6e 73 69 67 6e 65 |ndif. | unsigne|
|0000be70| 64 20 63 68 61 72 20 74 | 74 6c 3b 0a 20 20 20 20 |d char t|tl;. |
|0000be80| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 20 6c 6f |unsigned| char lo|
|0000be90| 6f 70 3b 0a 0a 0a 20 20 | 20 20 69 66 20 28 6d 61 |op;... | if (ma|
|0000bea0| 76 65 6e 5f 70 6f 72 74 | 20 21 3d 20 30 29 0a 20 |ven_port| != 0). |
|0000beb0| 20 20 20 7b 0a 0a 20 20 | 20 20 20 20 20 69 66 20 | {.. | if |
|0000bec0| 28 28 6d 61 76 65 6e 5f | 73 6f 63 6b 20 3d 20 73 |((maven_|sock = s|
|0000bed0| 6f 63 6b 65 74 28 41 46 | 5f 49 4e 45 54 2c 20 53 |ocket(AF|_INET, S|
|0000bee0| 4f 43 4b 5f 44 47 52 41 | 4d 2c 20 30 29 29 20 20 |OCK_DGRA|M, 0)) |
|0000bef0| 3c 20 30 29 0a 20 20 20 | 20 20 20 20 20 20 20 20 |< 0). | |
|0000bf00| 6d 79 5f 70 65 72 72 6f | 72 28 22 73 6f 63 6b 65 |my_perro|r("socke|
|0000bf10| 74 3a 20 6d 61 76 65 6e | 20 73 6f 63 6b 65 74 22 |t: maven| socket"|
|0000bf20| 29 3b 0a 0a 20 20 20 20 | 20 20 20 73 61 64 64 72 |);.. | saddr|
|0000bf30| 2e 73 69 6e 5f 66 61 6d | 69 6c 79 20 3d 20 41 46 |.sin_fam|ily = AF|
|0000bf40| 5f 49 4e 45 54 3b 0a 20 | 20 20 20 20 20 20 73 61 |_INET;. | sa|
|0000bf50| 64 64 72 2e 73 69 6e 5f | 61 64 64 72 2e 73 5f 61 |ddr.sin_|addr.s_a|
|0000bf60| 64 64 72 20 3d 20 68 74 | 6f 6e 6c 28 49 4e 41 44 |ddr = ht|onl(INAD|
|0000bf70| 44 52 5f 41 4e 59 29 3b | 0a 20 20 20 20 20 20 20 |DR_ANY);|. |
|0000bf80| 73 61 64 64 72 2e 73 69 | 6e 5f 70 6f 72 74 20 3d |saddr.si|n_port =|
|0000bf90| 20 68 74 6f 6e 73 28 6d | 61 76 65 6e 5f 70 6f 72 | htons(m|aven_por|
|0000bfa0| 74 29 3b 0a 0a 20 20 20 | 20 20 20 20 69 66 20 28 |t);.. | if (|
|0000bfb0| 62 69 6e 64 28 6d 61 76 | 65 6e 5f 73 6f 63 6b 2c |bind(mav|en_sock,|
|0000bfc0| 20 28 73 74 72 75 63 74 | 20 73 6f 63 6b 61 64 64 | (struct| sockadd|
|0000bfd0| 72 20 2a 29 20 26 73 61 | 64 64 72 2c 20 73 69 7a |r *) &sa|ddr, siz|
|0000bfe0| 65 6f 66 28 73 61 64 64 | 72 29 29 20 3c 20 30 29 |eof(sadd|r)) < 0)|
|0000bff0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 6d 79 5f 70 |. | my_p|
|0000c000| 65 72 72 6f 72 28 22 62 | 69 6e 64 20 65 72 72 6f |error("b|ind erro|
|0000c010| 72 20 70 6f 72 74 22 29 | 3b 0a 0a 20 20 20 20 20 |r port")|;.. |
|0000c020| 20 20 69 66 20 28 28 6d | 61 76 65 6e 5f 63 6e 74 | if ((m|aven_cnt|
|0000c030| 6c 5f 73 6f 63 6b 20 3d | 20 73 6f 63 6b 65 74 28 |l_sock =| socket(|
|0000c040| 41 46 5f 49 4e 45 54 2c | 20 53 4f 43 4b 5f 44 47 |AF_INET,| SOCK_DG|
|0000c050| 52 41 4d 2c 20 30 29 29 | 20 20 3c 20 30 29 0a 20 |RAM, 0))| < 0). |
|0000c060| 20 20 20 20 20 20 20 20 | 20 20 6d 79 5f 70 65 72 | | my_per|
|0000c070| 72 6f 72 28 22 73 6f 63 | 6b 65 74 3a 20 6d 61 76 |ror("soc|ket: mav|
|0000c080| 65 6e 20 63 6f 6e 74 72 | 6f 6c 20 73 6f 63 6b 65 |en contr|ol socke|
|0000c090| 74 22 29 3b 0a 0a 20 20 | 20 20 20 20 20 73 61 64 |t");.. | sad|
|0000c0a0| 64 72 2e 73 69 6e 5f 66 | 61 6d 69 6c 79 20 3d 20 |dr.sin_f|amily = |
|0000c0b0| 41 46 5f 49 4e 45 54 3b | 0a 20 20 20 20 20 20 20 |AF_INET;|. |
|0000c0c0| 73 61 64 64 72 2e 73 69 | 6e 5f 61 64 64 72 2e 73 |saddr.si|n_addr.s|
|0000c0d0| 5f 61 64 64 72 20 3d 20 | 68 74 6f 6e 6c 28 49 4e |_addr = |htonl(IN|
|0000c0e0| 41 44 44 52 5f 41 4e 59 | 29 3b 0a 20 20 20 20 20 |ADDR_ANY|);. |
|0000c0f0| 20 20 73 61 64 64 72 2e | 73 69 6e 5f 70 6f 72 74 | saddr.|sin_port|
|0000c100| 20 3d 20 68 74 6f 6e 73 | 28 6d 61 76 65 6e 5f 70 | = htons|(maven_p|
|0000c110| 6f 72 74 2b 31 29 3b 0a | 0a 20 20 20 20 20 20 20 |ort+1);.|. |
|0000c120| 69 66 20 28 62 69 6e 64 | 28 6d 61 76 65 6e 5f 63 |if (bind|(maven_c|
|0000c130| 6e 74 6c 5f 73 6f 63 6b | 2c 20 28 73 74 72 75 63 |ntl_sock|, (struc|
|0000c140| 74 20 73 6f 63 6b 61 64 | 64 72 20 2a 29 20 26 73 |t sockad|dr *) &s|
|0000c150| 61 64 64 72 2c 20 73 69 | 7a 65 6f 66 28 73 61 64 |addr, si|zeof(sad|
|0000c160| 64 72 29 29 20 3c 20 30 | 29 0a 20 20 20 20 20 20 |dr)) < 0|). |
|0000c170| 20 20 20 20 20 6d 79 5f | 70 65 72 72 6f 72 28 22 | my_|perror("|
|0000c180| 62 69 6e 64 20 65 72 72 | 6f 72 20 70 6f 72 74 22 |bind err|or port"|
|0000c190| 29 3b 0a 0a 20 20 20 20 | 7d 0a 0a 20 20 20 20 69 |);.. |}.. i|
|0000c1a0| 66 20 28 28 76 69 64 5f | 73 6f 63 6b 20 3d 20 73 |f ((vid_|sock = s|
|0000c1b0| 6f 63 6b 65 74 28 41 46 | 5f 49 4e 45 54 2c 20 53 |ocket(AF|_INET, S|
|0000c1c0| 4f 43 4b 5f 44 47 52 41 | 4d 2c 20 30 29 29 20 20 |OCK_DGRA|M, 0)) |
|0000c1d0| 3c 20 30 29 0a 20 20 20 | 20 20 20 20 20 6d 79 5f |< 0). | my_|
|0000c1e0| 70 65 72 72 6f 72 28 22 | 73 6f 63 6b 65 74 3a 20 |perror("|socket: |
|0000c1f0| 76 69 64 65 6f 20 73 6f | 63 6b 65 74 22 29 3b 0a |video so|cket");.|
|0000c200| 0a 20 20 20 20 73 61 64 | 64 72 2e 73 69 6e 5f 66 |. sad|dr.sin_f|
|0000c210| 61 6d 69 6c 79 20 3d 20 | 41 46 5f 49 4e 45 54 3b |amily = |AF_INET;|
|0000c220| 0a 20 20 20 20 73 61 64 | 64 72 2e 73 69 6e 5f 61 |. sad|dr.sin_a|
|0000c230| 64 64 72 2e 73 5f 61 64 | 64 72 20 3d 20 68 74 6f |ddr.s_ad|dr = hto|
|0000c240| 6e 6c 28 49 4e 41 44 44 | 52 5f 41 4e 59 29 3b 0a |nl(INADD|R_ANY);.|
|0000c250| 20 20 20 20 73 61 64 64 | 72 2e 73 69 6e 5f 70 6f | sadd|r.sin_po|
|0000c260| 72 74 20 3d 20 68 74 6f | 6e 73 28 56 49 44 5f 50 |rt = hto|ns(VID_P|
|0000c270| 4f 52 54 29 3b 0a 0a 20 | 20 20 20 69 66 20 28 62 |ORT);.. | if (b|
|0000c280| 69 6e 64 28 76 69 64 5f | 73 6f 63 6b 2c 20 28 73 |ind(vid_|sock, (s|
|0000c290| 74 72 75 63 74 20 73 6f | 63 6b 61 64 64 72 20 2a |truct so|ckaddr *|
|0000c2a0| 29 20 26 73 61 64 64 72 | 2c 20 73 69 7a 65 6f 66 |) &saddr|, sizeof|
|0000c2b0| 28 73 61 64 64 72 29 29 | 20 3c 20 30 29 0a 20 20 |(saddr))| < 0). |
|0000c2c0| 20 20 20 20 20 20 6d 79 | 5f 70 65 72 72 6f 72 28 | my|_perror(|
|0000c2d0| 22 62 69 6e 64 20 65 72 | 72 6f 72 20 70 6f 72 74 |"bind er|ror port|
|0000c2e0| 22 29 3b 0a 0a 20 20 20 | 20 69 66 20 28 28 63 6e |");.. | if ((cn|
|0000c2f0| 74 72 6c 5f 73 6f 63 6b | 20 3d 20 73 6f 63 6b 65 |trl_sock| = socke|
|0000c300| 74 28 41 46 5f 49 4e 45 | 54 2c 20 53 4f 43 4b 5f |t(AF_INE|T, SOCK_|
|0000c310| 53 54 52 45 41 4d 2c 20 | 30 29 29 20 3c 20 30 29 |STREAM, |0)) < 0)|
|0000c320| 0a 20 20 20 20 20 20 20 | 20 6d 79 5f 70 65 72 72 |. | my_perr|
|0000c330| 6f 72 28 22 73 6f 63 6b | 65 74 3a 20 63 6f 6e 74 |or("sock|et: cont|
|0000c340| 72 6f 6c 20 73 6f 63 6b | 65 74 22 29 3b 0a 0a 20 |rol sock|et");.. |
|0000c350| 20 20 20 73 61 64 64 72 | 2e 73 69 6e 5f 66 61 6d | saddr|.sin_fam|
|0000c360| 69 6c 79 20 3d 20 41 46 | 5f 49 4e 45 54 3b 0a 20 |ily = AF|_INET;. |
|0000c370| 20 20 20 73 61 64 64 72 | 2e 73 69 6e 5f 61 64 64 | saddr|.sin_add|
|0000c380| 72 2e 73 5f 61 64 64 72 | 20 3d 20 49 4e 41 44 44 |r.s_addr| = INADD|
|0000c390| 52 5f 41 4e 59 3b 0a 20 | 20 20 20 73 61 64 64 72 |R_ANY;. | saddr|
|0000c3a0| 2e 73 69 6e 5f 70 6f 72 | 74 20 3d 20 68 74 6f 6e |.sin_por|t = hton|
|0000c3b0| 73 28 43 4f 4e 54 52 4f | 4c 5f 50 4f 52 54 29 3b |s(CONTRO|L_PORT);|
|0000c3c0| 0a 0a 20 20 20 20 69 66 | 20 28 62 69 6e 64 28 63 |.. if| (bind(c|
|0000c3d0| 6e 74 72 6c 5f 73 6f 63 | 6b 2c 20 26 73 61 64 64 |ntrl_soc|k, &sadd|
|0000c3e0| 72 2c 20 73 69 7a 65 6f | 66 28 73 74 72 75 63 74 |r, sizeo|f(struct|
|0000c3f0| 20 73 6f 63 6b 61 64 64 | 72 5f 69 6e 29 29 20 3c | sockadd|r_in)) <|
|0000c400| 20 30 29 0a 20 20 20 20 | 20 20 20 20 6d 79 5f 70 | 0). | my_p|
|0000c410| 65 72 72 6f 72 28 22 62 | 69 6e 64 20 65 72 72 6f |error("b|ind erro|
|0000c420| 72 20 70 6f 72 74 22 29 | 3b 0a 0a 23 69 66 64 65 |r port")|;..#ifde|
|0000c430| 66 20 4d 55 4c 54 49 0a | 20 20 20 20 69 66 20 28 |f MULTI.| if (|
|0000c440| 6e 76 5f 6d 63 61 73 74 | 2e 73 69 6e 5f 61 64 64 |nv_mcast|.sin_add|
|0000c450| 72 2e 73 5f 61 64 64 72 | 29 0a 20 20 20 20 7b 0a |r.s_addr|). {.|
|0000c460| 20 20 20 20 20 20 20 69 | 66 20 28 28 6e 76 5f 6d | i|f ((nv_m|
|0000c470| 63 61 73 74 5f 73 6f 63 | 6b 20 3d 20 73 6f 63 6b |cast_soc|k = sock|
|0000c480| 65 74 28 41 46 5f 49 4e | 45 54 2c 20 53 4f 43 4b |et(AF_IN|ET, SOCK|
|0000c490| 5f 44 47 52 41 4d 2c 20 | 30 29 29 20 20 3c 20 30 |_DGRAM, |0)) < 0|
|0000c4a0| 29 0a 20 20 20 20 20 20 | 20 20 20 20 20 6d 79 5f |). | my_|
|0000c4b0| 70 65 72 72 6f 72 28 22 | 73 6f 63 6b 65 74 3a 20 |perror("|socket: |
|0000c4c0| 6e 76 20 6d 75 6c 74 69 | 63 61 73 74 20 73 6f 63 |nv multi|cast soc|
|0000c4d0| 6b 65 74 22 29 3b 0a 0a | 20 20 20 20 20 20 20 73 |ket");..| s|
|0000c4e0| 61 64 64 72 2e 73 69 6e | 5f 66 61 6d 69 6c 79 20 |addr.sin|_family |
|0000c4f0| 3d 20 41 46 5f 49 4e 45 | 54 3b 0a 20 20 20 20 20 |= AF_INE|T;. |
|0000c500| 20 20 73 61 64 64 72 2e | 73 69 6e 5f 61 64 64 72 | saddr.|sin_addr|
|0000c510| 2e 73 5f 61 64 64 72 20 | 3d 20 68 74 6f 6e 6c 28 |.s_addr |= htonl(|
|0000c520| 49 4e 41 44 44 52 5f 41 | 4e 59 29 3b 0a 20 20 20 |INADDR_A|NY);. |
|0000c530| 20 20 20 20 73 61 64 64 | 72 2e 73 69 6e 5f 70 6f | sadd|r.sin_po|
|0000c540| 72 74 20 3d 20 68 74 6f | 6e 73 28 4e 56 5f 50 4f |rt = hto|ns(NV_PO|
|0000c550| 52 54 29 3b 0a 0a 20 20 | 20 20 20 20 20 69 66 20 |RT);.. | if |
|0000c560| 28 62 69 6e 64 28 6e 76 | 5f 6d 63 61 73 74 5f 73 |(bind(nv|_mcast_s|
|0000c570| 6f 63 6b 2c 20 28 73 74 | 72 75 63 74 20 73 6f 63 |ock, (st|ruct soc|
|0000c580| 6b 61 64 64 72 20 2a 29 | 20 26 73 61 64 64 72 2c |kaddr *)| &saddr,|
|0000c590| 20 73 69 7a 65 6f 66 28 | 73 61 64 64 72 29 29 20 | sizeof(|saddr)) |
|0000c5a0| 3c 20 30 29 0a 20 20 20 | 20 20 20 20 20 20 20 20 |< 0). | |
|0000c5b0| 6d 79 5f 70 65 72 72 6f | 72 28 22 62 69 6e 64 20 |my_perro|r("bind |
|0000c5c0| 65 72 72 6f 72 20 70 6f | 72 74 22 29 3b 0a 0a 20 |error po|rt");.. |
|0000c5d0| 20 20 20 20 20 20 74 74 | 6c 20 3d 20 6e 76 5f 74 | tt|l = nv_t|
|0000c5e0| 74 6c 3b 0a 20 20 20 20 | 20 20 20 73 65 74 73 6f |tl;. | setso|
|0000c5f0| 63 6b 6f 70 74 28 6e 76 | 5f 6d 63 61 73 74 5f 73 |ckopt(nv|_mcast_s|
|0000c600| 6f 63 6b 2c 49 50 50 52 | 4f 54 4f 5f 49 50 2c 20 |ock,IPPR|OTO_IP, |
|0000c610| 49 50 5f 4d 55 4c 54 49 | 43 41 53 54 5f 54 54 4c |IP_MULTI|CAST_TTL|
|0000c620| 2c 20 26 74 74 6c 2c 20 | 73 69 7a 65 6f 66 28 74 |, &ttl, |sizeof(t|
|0000c630| 74 6c 29 29 3b 0a 20 20 | 20 20 7d 0a 0a 20 20 20 |tl));. | }.. |
|0000c640| 20 69 66 20 28 72 66 6f | 75 74 5f 6d 63 61 73 74 | if (rfo|ut_mcast|
|0000c650| 2e 73 69 6e 5f 61 64 64 | 72 2e 73 5f 61 64 64 72 |.sin_add|r.s_addr|
|0000c660| 29 0a 20 20 20 20 7b 0a | 20 20 20 20 20 20 20 69 |). {.| i|
|0000c670| 66 20 28 28 72 66 6f 75 | 74 5f 6d 63 61 73 74 5f |f ((rfou|t_mcast_|
|0000c680| 73 6f 63 6b 20 3d 20 73 | 6f 63 6b 65 74 28 41 46 |sock = s|ocket(AF|
|0000c690| 5f 49 4e 45 54 2c 20 53 | 4f 43 4b 5f 44 47 52 41 |_INET, S|OCK_DGRA|
|0000c6a0| 4d 2c 20 30 29 29 20 20 | 3c 20 30 29 0a 20 20 20 |M, 0)) |< 0). |
|0000c6b0| 20 20 20 20 20 20 20 20 | 6d 79 5f 70 65 72 72 6f | |my_perro|
|0000c6c0| 72 28 22 73 6f 63 6b 65 | 74 3a 20 72 66 6f 75 74 |r("socke|t: rfout|
|0000c6d0| 20 6d 75 6c 74 69 63 61 | 73 74 20 73 6f 63 6b 65 | multica|st socke|
|0000c6e0| 74 22 29 3b 0a 0a 20 20 | 20 20 20 20 20 73 61 64 |t");.. | sad|
|0000c6f0| 64 72 2e 73 69 6e 5f 66 | 61 6d 69 6c 79 20 3d 20 |dr.sin_f|amily = |
|0000c700| 41 46 5f 49 4e 45 54 3b | 0a 20 20 20 20 20 20 20 |AF_INET;|. |
|0000c710| 73 61 64 64 72 2e 73 69 | 6e 5f 61 64 64 72 2e 73 |saddr.si|n_addr.s|
|0000c720| 5f 61 64 64 72 20 3d 20 | 68 74 6f 6e 6c 28 49 4e |_addr = |htonl(IN|
|0000c730| 41 44 44 52 5f 41 4e 59 | 29 3b 0a 20 20 20 20 20 |ADDR_ANY|);. |
|0000c740| 20 20 73 61 64 64 72 2e | 73 69 6e 5f 70 6f 72 74 | saddr.|sin_port|
|0000c750| 20 3d 20 68 74 6f 6e 73 | 28 52 46 5f 50 4f 52 54 | = htons|(RF_PORT|
|0000c760| 29 3b 0a 0a 20 20 20 20 | 20 20 20 69 66 20 28 62 |);.. | if (b|
|0000c770| 69 6e 64 28 72 66 6f 75 | 74 5f 6d 63 61 73 74 5f |ind(rfou|t_mcast_|
|0000c780| 73 6f 63 6b 2c 20 28 73 | 74 72 75 63 74 20 73 6f |sock, (s|truct so|
|0000c790| 63 6b 61 64 64 72 20 2a | 29 20 26 73 61 64 64 72 |ckaddr *|) &saddr|
|0000c7a0| 2c 20 73 69 7a 65 6f 66 | 28 73 61 64 64 72 29 29 |, sizeof|(saddr))|
|0000c7b0| 20 3c 20 30 29 0a 20 20 | 20 20 20 20 20 20 20 20 | < 0). | |
|0000c7c0| 20 6d 79 5f 70 65 72 72 | 6f 72 28 22 62 69 6e 64 | my_perr|or("bind|
|0000c7d0| 20 65 72 72 6f 72 20 70 | 6f 72 74 22 29 3b 0a 0a | error p|ort");..|
|0000c7e0| 20 20 20 20 20 20 20 74 | 74 6c 20 3d 20 72 66 5f | t|tl = rf_|
|0000c7f0| 74 74 6c 3b 0a 20 20 20 | 20 20 20 20 73 65 74 73 |ttl;. | sets|
|0000c800| 6f 63 6b 6f 70 74 28 72 | 66 6f 75 74 5f 6d 63 61 |ockopt(r|fout_mca|
|0000c810| 73 74 5f 73 6f 63 6b 2c | 49 50 50 52 4f 54 4f 5f |st_sock,|IPPROTO_|
|0000c820| 49 50 2c 20 49 50 5f 4d | 55 4c 54 49 43 41 53 54 |IP, IP_M|ULTICAST|
|0000c830| 5f 54 54 4c 2c 20 26 74 | 74 6c 2c 20 73 69 7a 65 |_TTL, &t|tl, size|
|0000c840| 6f 66 28 74 74 6c 29 29 | 3b 0a 20 20 20 20 7d 0a |of(ttl))|;. }.|
|0000c850| 0a 20 20 20 20 69 66 20 | 28 72 66 69 6e 5f 6d 63 |. if |(rfin_mc|
|0000c860| 61 73 74 2e 73 69 6e 5f | 61 64 64 72 2e 73 5f 61 |ast.sin_|addr.s_a|
|0000c870| 64 64 72 29 0a 20 20 20 | 20 7b 0a 20 20 20 20 20 |ddr). | {. |
|0000c880| 20 20 69 66 20 28 28 72 | 66 69 6e 5f 6d 63 61 73 | if ((r|fin_mcas|
|0000c890| 74 5f 73 6f 63 6b 20 3d | 20 73 6f 63 6b 65 74 28 |t_sock =| socket(|
|0000c8a0| 41 46 5f 49 4e 45 54 2c | 20 53 4f 43 4b 5f 44 47 |AF_INET,| SOCK_DG|
|0000c8b0| 52 41 4d 2c 20 30 29 29 | 20 20 3c 20 30 29 0a 20 |RAM, 0))| < 0). |
|0000c8c0| 20 20 20 20 20 20 20 20 | 20 20 6d 79 5f 70 65 72 | | my_per|
|0000c8d0| 72 6f 72 28 22 73 6f 63 | 6b 65 74 3a 20 72 66 69 |ror("soc|ket: rfi|
|0000c8e0| 6e 20 6d 75 6c 74 69 63 | 61 73 74 20 73 6f 63 6b |n multic|ast sock|
|0000c8f0| 65 74 22 29 3b 0a 0a 20 | 20 20 20 20 20 20 73 61 |et");.. | sa|
|0000c900| 64 64 72 2e 73 69 6e 5f | 66 61 6d 69 6c 79 20 3d |ddr.sin_|family =|
|0000c910| 20 41 46 5f 49 4e 45 54 | 3b 0a 20 20 20 20 20 20 | AF_INET|;. |
|0000c920| 20 73 61 64 64 72 2e 73 | 69 6e 5f 61 64 64 72 2e | saddr.s|in_addr.|
|0000c930| 73 5f 61 64 64 72 20 3d | 20 68 74 6f 6e 6c 28 49 |s_addr =| htonl(I|
|0000c940| 4e 41 44 44 52 5f 41 4e | 59 29 3b 0a 20 20 20 20 |NADDR_AN|Y);. |
|0000c950| 20 20 20 73 61 64 64 72 | 2e 73 69 6e 5f 70 6f 72 | saddr|.sin_por|
|0000c960| 74 20 3d 20 68 74 6f 6e | 73 28 52 46 5f 50 4f 52 |t = hton|s(RF_POR|
|0000c970| 54 29 3b 0a 0a 20 20 20 | 20 20 20 20 69 66 20 28 |T);.. | if (|
|0000c980| 62 69 6e 64 28 72 66 69 | 6e 5f 6d 63 61 73 74 5f |bind(rfi|n_mcast_|
|0000c990| 73 6f 63 6b 2c 20 28 73 | 74 72 75 63 74 20 73 6f |sock, (s|truct so|
|0000c9a0| 63 6b 61 64 64 72 20 2a | 29 20 26 73 61 64 64 72 |ckaddr *|) &saddr|
|0000c9b0| 2c 20 73 69 7a 65 6f 66 | 28 73 61 64 64 72 29 29 |, sizeof|(saddr))|
|0000c9c0| 20 3c 20 30 29 0a 20 20 | 20 20 20 20 20 20 20 20 | < 0). | |
|0000c9d0| 20 6d 79 5f 70 65 72 72 | 6f 72 28 22 62 69 6e 64 | my_perr|or("bind|
|0000c9e0| 20 65 72 72 6f 72 20 70 | 6f 72 74 22 29 3b 0a 0a | error p|ort");..|
|0000c9f0| 20 20 20 20 20 20 20 6d | 72 65 71 2e 69 6d 72 5f | m|req.imr_|
|0000ca00| 6d 75 6c 74 69 61 64 64 | 72 2e 73 5f 61 64 64 72 |multiadd|r.s_addr|
|0000ca10| 20 3d 20 72 66 69 6e 5f | 6d 63 61 73 74 2e 73 69 | = rfin_|mcast.si|
|0000ca20| 6e 5f 61 64 64 72 2e 73 | 5f 61 64 64 72 3b 0a 20 |n_addr.s|_addr;. |
|0000ca30| 20 20 20 20 20 20 6d 72 | 65 71 2e 69 6d 72 5f 69 | mr|eq.imr_i|
|0000ca40| 6e 74 65 72 66 61 63 65 | 2e 73 5f 61 64 64 72 20 |nterface|.s_addr |
|0000ca50| 3d 20 49 4e 41 44 44 52 | 5f 41 4e 59 3b 0a 0a 20 |= INADDR|_ANY;.. |
|0000ca60| 20 20 20 20 20 20 73 65 | 74 73 6f 63 6b 6f 70 74 | se|tsockopt|
|0000ca70| 28 72 66 69 6e 5f 6d 63 | 61 73 74 5f 73 6f 63 6b |(rfin_mc|ast_sock|
|0000ca80| 2c 49 50 50 52 4f 54 4f | 5f 49 50 2c 49 50 5f 41 |,IPPROTO|_IP,IP_A|
|0000ca90| 44 44 5f 4d 45 4d 42 45 | 52 53 48 49 50 2c 26 6d |DD_MEMBE|RSHIP,&m|
|0000caa0| 72 65 71 2c 73 69 7a 65 | 6f 66 28 6d 72 65 71 29 |req,size|of(mreq)|
|0000cab0| 29 3b 0a 20 20 20 20 7d | 0a 0a 20 20 20 20 69 66 |);. }|.. if|
|0000cac0| 20 28 69 6e 6f 75 74 5f | 6d 63 61 73 74 2e 73 69 | (inout_|mcast.si|
|0000cad0| 6e 5f 61 64 64 72 2e 73 | 5f 61 64 64 72 29 0a 20 |n_addr.s|_addr). |
|0000cae0| 20 20 20 7b 0a 20 20 20 | 20 20 20 20 69 66 20 28 | {. | if (|
|0000caf0| 28 69 6e 6f 75 74 5f 6d | 63 61 73 74 5f 73 6f 63 |(inout_m|cast_soc|
|0000cb00| 6b 20 3d 20 73 6f 63 6b | 65 74 28 41 46 5f 49 4e |k = sock|et(AF_IN|
|0000cb10| 45 54 2c 20 53 4f 43 4b | 5f 44 47 52 41 4d 2c 20 |ET, SOCK|_DGRAM, |
|0000cb20| 30 29 29 20 20 3c 20 30 | 29 0a 20 20 20 20 20 20 |0)) < 0|). |
|0000cb30| 20 20 20 20 20 6d 79 5f | 70 65 72 72 6f 72 28 22 | my_|perror("|
|0000cb40| 73 6f 63 6b 65 74 3a 20 | 69 6e 6f 75 74 20 6d 75 |socket: |inout mu|
|0000cb50| 6c 74 69 63 61 73 74 20 | 73 6f 63 6b 65 74 22 29 |lticast |socket")|
|0000cb60| 3b 0a 0a 20 20 20 20 20 | 20 20 73 61 64 64 72 2e |;.. | saddr.|
|0000cb70| 73 69 6e 5f 66 61 6d 69 | 6c 79 20 3d 20 41 46 5f |sin_fami|ly = AF_|
|0000cb80| 49 4e 45 54 3b 0a 20 20 | 20 20 20 20 20 73 61 64 |INET;. | sad|
|0000cb90| 64 72 2e 73 69 6e 5f 61 | 64 64 72 2e 73 5f 61 64 |dr.sin_a|ddr.s_ad|
|0000cba0| 64 72 20 3d 20 68 74 6f | 6e 6c 28 49 4e 41 44 44 |dr = hto|nl(INADD|
|0000cbb0| 52 5f 41 4e 59 29 3b 0a | 20 20 20 20 20 20 20 73 |R_ANY);.| s|
|0000cbc0| 61 64 64 72 2e 73 69 6e | 5f 70 6f 72 74 20 3d 20 |addr.sin|_port = |
|0000cbd0| 68 74 6f 6e 73 28 52 46 | 5f 50 4f 52 54 29 3b 0a |htons(RF|_PORT);.|
|0000cbe0| 0a 20 20 20 20 20 20 20 | 69 66 20 28 62 69 6e 64 |. |if (bind|
|0000cbf0| 28 69 6e 6f 75 74 5f 6d | 63 61 73 74 5f 73 6f 63 |(inout_m|cast_soc|
|0000cc00| 6b 2c 20 28 73 74 72 75 | 63 74 20 73 6f 63 6b 61 |k, (stru|ct socka|
|0000cc10| 64 64 72 20 2a 29 20 26 | 73 61 64 64 72 2c 20 73 |ddr *) &|saddr, s|
|0000cc20| 69 7a 65 6f 66 28 73 61 | 64 64 72 29 29 20 3c 20 |izeof(sa|ddr)) < |
|0000cc30| 30 29 0a 20 20 20 20 20 | 20 20 20 20 20 20 6d 79 |0). | my|
|0000cc40| 5f 70 65 72 72 6f 72 28 | 22 62 69 6e 64 20 65 72 |_perror(|"bind er|
|0000cc50| 72 6f 72 20 70 6f 72 74 | 22 29 3b 0a 0a 20 20 20 |ror port|");.. |
|0000cc60| 20 20 20 20 74 74 6c 20 | 3d 20 69 6e 6f 75 74 5f | ttl |= inout_|
|0000cc70| 74 74 6c 3b 0a 20 20 20 | 20 20 20 20 73 65 74 73 |ttl;. | sets|
|0000cc80| 6f 63 6b 6f 70 74 28 69 | 6e 6f 75 74 5f 6d 63 61 |ockopt(i|nout_mca|
|0000cc90| 73 74 5f 73 6f 63 6b 2c | 49 50 50 52 4f 54 4f 5f |st_sock,|IPPROTO_|
|0000cca0| 49 50 2c 20 49 50 5f 4d | 55 4c 54 49 43 41 53 54 |IP, IP_M|ULTICAST|
|0000ccb0| 5f 54 54 4c 2c 20 26 74 | 74 6c 2c 20 73 69 7a 65 |_TTL, &t|tl, size|
|0000ccc0| 6f 66 28 74 74 6c 29 29 | 3b 0a 0a 20 20 20 20 20 |of(ttl))|;.. |
|0000ccd0| 20 20 6d 72 65 71 2e 69 | 6d 72 5f 6d 75 6c 74 69 | mreq.i|mr_multi|
|0000cce0| 61 64 64 72 2e 73 5f 61 | 64 64 72 20 3d 20 69 6e |addr.s_a|ddr = in|
|0000ccf0| 6f 75 74 5f 6d 63 61 73 | 74 2e 73 69 6e 5f 61 64 |out_mcas|t.sin_ad|
|0000cd00| 64 72 2e 73 5f 61 64 64 | 72 3b 0a 20 20 20 20 20 |dr.s_add|r;. |
|0000cd10| 20 20 6d 72 65 71 2e 69 | 6d 72 5f 69 6e 74 65 72 | mreq.i|mr_inter|
|0000cd20| 66 61 63 65 2e 73 5f 61 | 64 64 72 20 3d 20 49 4e |face.s_a|ddr = IN|
|0000cd30| 41 44 44 52 5f 41 4e 59 | 3b 0a 0a 20 20 20 20 20 |ADDR_ANY|;.. |
|0000cd40| 20 20 73 65 74 73 6f 63 | 6b 6f 70 74 28 69 6e 6f | setsoc|kopt(ino|
|0000cd50| 75 74 5f 6d 63 61 73 74 | 5f 73 6f 63 6b 2c 49 50 |ut_mcast|_sock,IP|
|0000cd60| 50 52 4f 54 4f 5f 49 50 | 2c 49 50 5f 41 44 44 5f |PROTO_IP|,IP_ADD_|
|0000cd70| 4d 45 4d 42 45 52 53 48 | 49 50 2c 26 6d 72 65 71 |MEMBERSH|IP,&mreq|
|0000cd80| 2c 73 69 7a 65 6f 66 28 | 6d 72 65 71 29 29 3b 0a |,sizeof(|mreq));.|
|0000cd90| 0a 20 20 20 20 20 20 20 | 6c 6f 6f 70 20 3d 20 30 |. |loop = 0|
|0000cda0| 3b 0a 20 20 20 20 20 20 | 20 73 65 74 73 6f 63 6b |;. | setsock|
|0000cdb0| 6f 70 74 28 69 6e 6f 75 | 74 5f 6d 63 61 73 74 5f |opt(inou|t_mcast_|
|0000cdc0| 73 6f 63 6b 2c 49 50 50 | 52 4f 54 4f 5f 49 50 2c |sock,IPP|ROTO_IP,|
|0000cdd0| 49 50 5f 4d 55 4c 54 49 | 43 41 53 54 5f 4c 4f 4f |IP_MULTI|CAST_LOO|
|0000cde0| 50 2c 26 6c 6f 6f 70 2c | 73 69 7a 65 6f 66 28 6c |P,&loop,|sizeof(l|
|0000cdf0| 6f 6f 70 29 29 3b 0a 0a | 0a 20 20 20 20 7d 0a 0a |oop));..|. }..|
|0000ce00| 23 65 6e 64 69 66 20 0a | 0a 20 20 20 20 69 66 20 |#endif .|. if |
|0000ce10| 28 28 66 63 6e 74 6c 28 | 76 69 64 5f 73 6f 63 6b |((fcntl(|vid_sock|
|0000ce20| 2c 20 46 5f 53 45 54 46 | 4c 2c 20 46 4e 44 45 4c |, F_SETF|L, FNDEL|
|0000ce30| 41 59 29 29 20 3c 20 30 | 20 29 0a 20 20 20 20 20 |AY)) < 0| ). |
|0000ce40| 20 20 20 6d 79 5f 70 65 | 72 72 6f 72 28 22 66 63 | my_pe|rror("fc|
|0000ce50| 6e 74 6c 20 65 72 72 6f | 72 22 29 3b 0a 0a 20 20 |ntl erro|r");.. |
|0000ce60| 20 20 69 66 20 28 6d 61 | 76 65 6e 5f 73 6f 63 6b | if (ma|ven_sock|
|0000ce70| 29 0a 20 20 20 20 7b 0a | 20 20 20 20 20 20 20 69 |). {.| i|
|0000ce80| 66 20 28 28 66 63 6e 74 | 6c 28 6d 61 76 65 6e 5f |f ((fcnt|l(maven_|
|0000ce90| 73 6f 63 6b 2c 20 46 5f | 53 45 54 46 4c 2c 20 46 |sock, F_|SETFL, F|
|0000cea0| 4e 44 45 4c 41 59 29 29 | 20 3c 20 30 20 29 0a 20 |NDELAY))| < 0 ). |
|0000ceb0| 20 20 20 20 20 20 20 20 | 20 20 6d 79 5f 70 65 72 | | my_per|
|0000cec0| 72 6f 72 28 22 66 63 6e | 74 6c 20 65 72 72 6f 72 |ror("fcn|tl error|
|0000ced0| 22 29 3b 0a 0a 20 20 20 | 20 20 20 20 69 66 20 28 |");.. | if (|
|0000cee0| 28 66 63 6e 74 6c 28 6d | 61 76 65 6e 5f 63 6e 74 |(fcntl(m|aven_cnt|
|0000cef0| 6c 5f 73 6f 63 6b 2c 20 | 46 5f 53 45 54 46 4c 2c |l_sock, |F_SETFL,|
|0000cf00| 20 46 4e 44 45 4c 41 59 | 29 29 20 3c 20 30 20 29 | FNDELAY|)) < 0 )|
|0000cf10| 0a 20 20 20 20 20 20 20 | 20 20 20 20 6d 79 5f 70 |. | my_p|
|0000cf20| 65 72 72 6f 72 28 22 66 | 63 6e 74 6c 20 65 72 72 |error("f|cntl err|
|0000cf30| 6f 72 22 29 3b 0a 20 20 | 20 20 7d 0a 0a 20 20 20 |or");. | }.. |
|0000cf40| 20 69 66 20 28 28 66 63 | 6e 74 6c 28 63 6e 74 72 | if ((fc|ntl(cntr|
|0000cf50| 6c 5f 73 6f 63 6b 2c 20 | 46 5f 53 45 54 46 4c 2c |l_sock, |F_SETFL,|
|0000cf60| 20 46 4e 44 45 4c 41 59 | 29 29 20 3c 20 30 29 20 | FNDELAY|)) < 0) |
|0000cf70| 0a 20 20 20 20 20 20 20 | 20 6d 79 5f 70 65 72 72 |. | my_perr|
|0000cf80| 6f 72 28 22 66 63 6e 74 | 6c 20 65 72 72 6f 72 22 |or("fcnt|l error"|
|0000cf90| 29 3b 0a 0a 20 20 20 20 | 69 66 20 28 67 65 74 68 |);.. |if (geth|
|0000cfa0| 6f 73 74 6e 61 6d 65 28 | 68 6f 73 74 6e 61 6d 65 |ostname(|hostname|
|0000cfb0| 2c 4d 41 58 48 4f 53 54 | 4e 41 4d 45 4c 45 4e 29 |,MAXHOST|NAMELEN)|
|0000cfc0| 20 3c 20 30 29 0a 20 20 | 20 20 20 20 20 20 6d 79 | < 0). | my|
|0000cfd0| 5f 70 65 72 72 6f 72 28 | 22 67 65 74 6e 6f 73 74 |_perror(|"getnost|
|0000cfe0| 6e 61 6d 65 22 29 3b 0a | 0a 20 20 20 20 6d 73 67 |name");.|. msg|
|0000cff0| 5f 73 6f 63 6b 20 3d 20 | 30 3b 0a 20 20 20 20 73 |_sock = |0;. s|
|0000d000| 65 74 73 6f 63 6b 6f 70 | 74 28 63 6e 74 72 6c 5f |etsockop|t(cntrl_|
|0000d010| 73 6f 63 6b 2c 53 4f 4c | 5f 53 4f 43 4b 45 54 2c |sock,SOL|_SOCKET,|
|0000d020| 53 4f 5f 52 45 55 53 45 | 41 44 44 52 2c 31 2c 30 |SO_REUSE|ADDR,1,0|
|0000d030| 29 3b 0a 20 20 20 20 6c | 69 73 74 65 6e 28 63 6e |);. l|isten(cn|
|0000d040| 74 72 6c 5f 73 6f 63 6b | 2c 35 29 3b 0a 7d 0a 0a |trl_sock|,5);.}..|
|0000d050| 76 6f 69 64 20 69 6e 69 | 74 5f 74 69 6d 65 72 28 |void ini|t_timer(|
|0000d060| 29 0a 7b 0a 20 20 20 20 | 73 74 72 75 63 74 20 69 |).{. |struct i|
|0000d070| 74 69 6d 65 72 76 61 6c | 20 20 20 20 76 61 6c 75 |timerval| valu|
|0000d080| 65 3b 0a 20 20 20 20 73 | 74 72 75 63 74 20 69 74 |e;. s|truct it|
|0000d090| 69 6d 65 72 76 61 6c 20 | 20 20 20 6f 76 61 6c 75 |imerval | ovalu|
|0000d0a0| 65 3b 0a 20 20 20 20 76 | 6f 69 64 20 20 20 20 20 |e;. v|oid |
|0000d0b0| 20 20 20 20 20 20 20 20 | 20 20 20 73 69 67 68 61 | | sigha|
|0000d0c0| 6e 64 6c 65 72 28 29 3b | 0a 0a 20 20 20 20 76 61 |ndler();|.. va|
|0000d0d0| 6c 75 65 2e 69 74 5f 69 | 6e 74 65 72 76 61 6c 2e |lue.it_i|nterval.|
|0000d0e0| 74 76 5f 73 65 63 20 3d | 20 31 3b 0a 20 20 20 20 |tv_sec =| 1;. |
|0000d0f0| 76 61 6c 75 65 2e 69 74 | 5f 69 6e 74 65 72 76 61 |value.it|_interva|
|0000d100| 6c 2e 74 76 5f 75 73 65 | 63 20 3d 20 30 3b 0a 20 |l.tv_use|c = 0;. |
|0000d110| 20 20 20 76 61 6c 75 65 | 2e 69 74 5f 76 61 6c 75 | value|.it_valu|
|0000d120| 65 2e 74 76 5f 73 65 63 | 20 3d 20 31 3b 0a 20 20 |e.tv_sec| = 1;. |
|0000d130| 20 20 76 61 6c 75 65 2e | 69 74 5f 76 61 6c 75 65 | value.|it_value|
|0000d140| 2e 74 76 5f 75 73 65 63 | 20 3d 20 30 3b 0a 0a 20 |.tv_usec| = 0;.. |
|0000d150| 20 20 20 73 65 74 69 74 | 69 6d 65 72 28 49 54 49 | setit|imer(ITI|
|0000d160| 4d 45 52 5f 52 45 41 4c | 2c 20 26 76 61 6c 75 65 |MER_REAL|, &value|
|0000d170| 2c 20 26 6f 76 61 6c 75 | 65 29 3b 0a 0a 20 20 20 |, &ovalu|e);.. |
|0000d180| 20 73 69 67 6e 61 6c 28 | 53 49 47 41 4c 52 4d 2c | signal(|SIGALRM,|
|0000d190| 20 73 69 67 68 61 6e 64 | 6c 65 72 29 3b 0a 7d 0a | sighand|ler);.}.|
|0000d1a0| 0a 76 6f 69 64 20 73 69 | 67 68 61 6e 64 6c 65 72 |.void si|ghandler|
|0000d1b0| 28 29 0a 7b 0a 20 20 20 | 20 74 69 6d 65 72 5f 65 |().{. | timer_e|
|0000d1c0| 78 70 69 72 65 64 2b 2b | 3b 0a 20 20 20 20 73 69 |xpired++|;. si|
|0000d1d0| 67 6e 61 6c 28 53 49 47 | 41 4c 52 4d 2c 20 73 69 |gnal(SIG|ALRM, si|
|0000d1e0| 67 68 61 6e 64 6c 65 72 | 29 3b 0a 7d 0a 0a 69 6e |ghandler|);.}..in|
|0000d1f0| 74 20 72 65 63 65 69 76 | 65 28 70 6b 74 2c 6d 73 |t receiv|e(pkt,ms|
|0000d200| 67 6c 65 6e 2c 63 61 64 | 64 72 29 0a 20 20 20 20 |glen,cad|dr). |
|0000d210| 63 68 61 72 20 20 20 20 | 20 20 20 20 20 20 20 20 |char | |
|0000d220| 20 20 20 2a 70 6b 74 3b | 0a 20 20 20 20 69 6e 74 | *pkt;|. int|
|0000d230| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|0000d240| 2a 6d 73 67 6c 65 6e 3b | 0a 20 20 20 20 73 74 72 |*msglen;|. str|
|0000d250| 75 63 74 20 73 6f 63 6b | 61 64 64 72 5f 69 6e 20 |uct sock|addr_in |
|0000d260| 2a 63 61 64 64 72 3b 20 | 0a 7b 0a 20 20 20 20 66 |*caddr; |.{. f|
|0000d270| 64 5f 73 65 74 20 20 20 | 20 20 20 20 20 20 20 20 |d_set | |
|0000d280| 20 20 20 20 20 20 20 20 | 20 20 20 72 65 61 64 66 | | readf|
|0000d290| 64 73 3b 0a 20 20 20 20 | 69 6e 74 20 20 20 20 20 |ds;. |int |
|0000d2a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|0000d2b0| 20 20 20 20 63 61 64 72 | 6c 65 6e 2c 72 65 61 64 | cadr|len,read|
|0000d2c0| 79 3b 0a 0a 20 20 20 20 | 77 68 69 6c 65 20 28 31 |y;.. |while (1|
|0000d2d0| 29 0a 20 20 20 20 7b 0a | 20 20 20 20 20 20 20 69 |). {.| i|
|0000d2e0| 66 20 28 74 69 6d 65 72 | 5f 65 78 70 69 72 65 64 |f (timer|_expired|
|0000d2f0| 29 0a 20 20 20 20 20 20 | 20 7b 0a 20 20 20 20 20 |). | {. |
|0000d300| 20 20 20 20 20 74 69 6d | 65 72 5f 65 78 70 69 72 | tim|er_expir|
|0000d310| 65 64 2d 2d 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |ed--;. | |
|0000d320| 64 6f 5f 74 69 6d 65 72 | 28 29 3b 0a 20 20 20 20 |do_timer|();. |
|0000d330| 20 20 20 7d 0a 0a 20 20 | 20 20 20 20 20 46 44 5f | }.. | FD_|
|0000d340| 5a 45 52 4f 28 26 72 65 | 61 64 66 64 73 29 3b 0a |ZERO(&re|adfds);.|
|0000d350| 20 20 20 20 20 20 20 46 | 44 5f 53 45 54 28 76 69 | F|D_SET(vi|
|0000d360| 64 5f 73 6f 63 6b 2c 20 | 26 72 65 61 64 66 64 73 |d_sock, |&readfds|
|0000d370| 29 3b 0a 0a 20 20 20 20 | 20 20 20 69 66 20 28 6d |);.. | if (m|
|0000d380| 61 76 65 6e 5f 73 6f 63 | 6b 29 0a 20 20 20 20 20 |aven_soc|k). |
|0000d390| 20 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 46 44 | {. | FD|
|0000d3a0| 5f 53 45 54 28 6d 61 76 | 65 6e 5f 73 6f 63 6b 2c |_SET(mav|en_sock,|
|0000d3b0| 26 72 65 61 64 66 64 73 | 29 3b 0a 20 20 20 20 20 |&readfds|);. |
|0000d3c0| 20 20 20 20 20 46 44 5f | 53 45 54 28 6d 61 76 65 | FD_|SET(mave|
|0000d3d0| 6e 5f 63 6e 74 6c 5f 73 | 6f 63 6b 2c 26 72 65 61 |n_cntl_s|ock,&rea|
|0000d3e0| 64 66 64 73 29 3b 0a 20 | 20 20 20 20 20 20 7d 0a |dfds);. | }.|
|0000d3f0| 0a 23 69 66 64 65 66 20 | 4d 55 4c 54 49 0a 20 20 |.#ifdef |MULTI. |
|0000d400| 20 20 20 20 20 69 66 20 | 28 72 66 69 6e 5f 6d 63 | if |(rfin_mc|
|0000d410| 61 73 74 2e 73 69 6e 5f | 61 64 64 72 2e 73 5f 61 |ast.sin_|addr.s_a|
|0000d420| 64 64 72 29 0a 20 20 20 | 20 20 20 20 20 20 20 46 |ddr). | F|
|0000d430| 44 5f 53 45 54 28 72 66 | 69 6e 5f 6d 63 61 73 74 |D_SET(rf|in_mcast|
|0000d440| 5f 73 6f 63 6b 2c 26 72 | 65 61 64 66 64 73 29 3b |_sock,&r|eadfds);|
|0000d450| 0a 20 20 20 20 20 20 20 | 0a 20 20 20 20 20 20 20 |. |. |
|0000d460| 69 66 20 28 69 6e 6f 75 | 74 5f 6d 63 61 73 74 2e |if (inou|t_mcast.|
|0000d470| 73 69 6e 5f 61 64 64 72 | 2e 73 5f 61 64 64 72 29 |sin_addr|.s_addr)|
|0000d480| 0a 20 20 20 20 20 20 20 | 20 20 20 46 44 5f 53 45 |. | FD_SE|
|0000d490| 54 28 69 6e 6f 75 74 5f | 6d 63 61 73 74 5f 73 6f |T(inout_|mcast_so|
|0000d4a0| 63 6b 2c 26 72 65 61 64 | 66 64 73 29 3b 0a 23 65 |ck,&read|fds);.#e|
|0000d4b0| 6e 64 69 66 0a 20 20 20 | 20 20 20 20 69 66 20 28 |ndif. | if (|
|0000d4c0| 6d 73 67 5f 73 6f 63 6b | 20 3d 3d 20 30 29 0a 20 |msg_sock| == 0). |
|0000d4d0| 20 20 20 20 20 20 20 20 | 20 46 44 5f 53 45 54 28 | | FD_SET(|
|0000d4e0| 63 6e 74 72 6c 5f 73 6f | 63 6b 2c 20 26 72 65 61 |cntrl_so|ck, &rea|
|0000d4f0| 64 66 64 73 29 3b 0a 0a | 20 20 20 20 20 20 20 69 |dfds);..| i|
|0000d500| 66 20 28 6d 73 67 5f 73 | 6f 63 6b 20 21 3d 20 30 |f (msg_s|ock != 0|
|0000d510| 29 0a 20 20 20 20 20 20 | 20 20 20 20 46 44 5f 53 |). | FD_S|
|0000d520| 45 54 28 6d 73 67 5f 73 | 6f 63 6b 2c 20 26 72 65 |ET(msg_s|ock, &re|
|0000d530| 61 64 66 64 73 29 3b 0a | 20 20 20 20 20 20 20 0a |adfds);.| .|
|0000d540| 20 20 20 20 20 20 20 69 | 66 20 28 28 72 65 61 64 | i|f ((read|
|0000d550| 79 20 3d 20 73 65 6c 65 | 63 74 28 46 44 5f 53 45 |y = sele|ct(FD_SE|
|0000d560| 54 53 49 5a 45 2c 20 26 | 72 65 61 64 66 64 73 2c |TSIZE, &|readfds,|
|0000d570| 20 4e 55 4c 4c 2c 20 4e | 55 4c 4c 2c 20 4e 55 4c | NULL, N|ULL, NUL|
|0000d580| 4c 29 29 20 3c 20 30 29 | 0a 20 20 20 20 20 20 20 |L)) < 0)|. |
|0000d590| 7b 0a 20 20 20 20 20 20 | 20 20 20 20 69 66 20 28 |{. | if (|
|0000d5a0| 65 72 72 6e 6f 20 3d 3d | 20 45 49 4e 54 52 29 0a |errno ==| EINTR).|
|0000d5b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 63 6f 6e | | con|
|0000d5c0| 74 69 6e 75 65 3b 0a 20 | 20 20 20 20 20 20 20 20 |tinue;. | |
|0000d5d0| 20 65 6c 73 65 0a 20 20 | 20 20 20 20 20 20 20 20 | else. | |
|0000d5e0| 20 20 20 6d 79 5f 70 65 | 72 72 6f 72 28 22 73 65 | my_pe|rror("se|
|0000d5f0| 6c 65 63 74 20 65 72 72 | 6f 72 22 29 3b 0a 20 20 |lect err|or");. |
|0000d600| 20 20 20 20 20 7d 0a 0a | 20 20 20 20 20 20 20 69 | }..| i|
|0000d610| 66 20 28 72 65 61 64 79 | 20 3d 3d 20 30 29 0a 20 |f (ready| == 0). |
|0000d620| 20 20 20 20 20 20 20 20 | 20 20 63 6f 6e 74 69 6e | | contin|
|0000d630| 75 65 3b 0a 0a 20 20 20 | 20 20 20 20 63 61 64 72 |ue;.. | cadr|
|0000d640| 6c 65 6e 20 3d 20 73 69 | 7a 65 6f 66 28 73 74 72 |len = si|zeof(str|
|0000d650| 75 63 74 20 73 6f 63 6b | 61 64 64 72 5f 69 6e 29 |uct sock|addr_in)|
|0000d660| 3b 0a 0a 20 20 20 20 20 | 20 20 69 66 20 28 46 44 |;.. | if (FD|
|0000d670| 5f 49 53 53 45 54 28 76 | 69 64 5f 73 6f 63 6b 2c |_ISSET(v|id_sock,|
|0000d680| 20 26 72 65 61 64 66 64 | 73 29 29 20 0a 20 20 20 | &readfd|s)) . |
|0000d690| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|0000d6a0| 0a 20 20 20 20 20 20 20 | 20 20 20 69 66 20 28 28 |. | if ((|
|0000d6b0| 2a 6d 73 67 6c 65 6e 20 | 3d 20 72 65 63 76 66 72 |*msglen |= recvfr|
|0000d6c0| 6f 6d 28 76 69 64 5f 73 | 6f 63 6b 2c 70 6b 74 2c |om(vid_s|ock,pkt,|
|0000d6d0| 4d 41 58 4d 53 47 2c 30 | 2c 63 61 64 64 72 2c 26 |MAXMSG,0|,caddr,&|
|0000d6e0| 63 61 64 72 6c 65 6e 29 | 29 20 3c 20 30 29 0a 20 |cadrlen)|) < 0). |
|0000d6f0| 20 20 20 20 20 20 20 20 | 20 7b 0a 20 20 20 20 20 | | {. |
|0000d700| 20 20 20 20 20 20 20 20 | 69 66 20 28 65 72 72 6e | |if (errn|
|0000d710| 6f 20 3d 3d 20 45 49 4e | 54 52 29 0a 20 20 20 20 |o == EIN|TR). |
|0000d720| 20 20 20 20 20 20 20 20 | 20 20 20 20 63 6f 6e 74 | | cont|
|0000d730| 69 6e 75 65 3b 0a 0a 20 | 20 20 20 20 20 20 20 20 |inue;.. | |
|0000d740| 20 20 20 20 6d 79 5f 70 | 65 72 72 6f 72 28 22 72 | my_p|error("r|
|0000d750| 65 63 76 66 72 6f 6d 20 | 65 72 72 6f 72 20 6f 6e |ecvfrom |error on|
|0000d760| 20 76 69 64 5f 73 6f 63 | 6b 22 29 3b 0a 20 20 20 | vid_soc|k");. |
|0000d770| 20 20 20 20 20 20 20 7d | 0a 0a 20 20 20 20 20 20 | }|.. |
|0000d780| 20 20 20 20 72 65 74 75 | 72 6e 28 56 49 44 45 4f | retu|rn(VIDEO|
|0000d790| 29 3b 0a 20 20 20 20 20 | 20 20 7d 0a 0a 20 20 20 |);. | }.. |
|0000d7a0| 20 20 20 20 69 66 20 28 | 46 44 5f 49 53 53 45 54 | if (|FD_ISSET|
|0000d7b0| 28 6d 61 76 65 6e 5f 73 | 6f 63 6b 2c 20 26 72 65 |(maven_s|ock, &re|
|0000d7c0| 61 64 66 64 73 29 29 20 | 0a 20 20 20 20 20 20 20 |adfds)) |. |
|0000d7d0| 7b 0a 20 20 20 20 20 20 | 20 20 20 20 0a 20 20 20 |{. | . |
|0000d7e0| 20 20 20 20 20 20 20 69 | 66 20 28 28 2a 6d 73 67 | i|f ((*msg|
|0000d7f0| 6c 65 6e 20 3d 20 72 65 | 63 76 66 72 6f 6d 28 6d |len = re|cvfrom(m|
|0000d800| 61 76 65 6e 5f 73 6f 63 | 6b 2c 70 6b 74 2c 4d 41 |aven_soc|k,pkt,MA|
|0000d810| 58 4d 53 47 2c 30 2c 63 | 61 64 64 72 2c 26 63 61 |XMSG,0,c|addr,&ca|
|0000d820| 64 72 6c 65 6e 29 29 20 | 3c 20 30 29 0a 20 20 20 |drlen)) |< 0). |
|0000d830| 20 20 20 20 20 20 20 7b | 0a 20 20 20 20 20 20 20 | {|. |
|0000d840| 20 20 20 20 20 20 69 66 | 20 28 65 72 72 6e 6f 20 | if| (errno |
|0000d850| 3d 3d 20 45 49 4e 54 52 | 29 0a 20 20 20 20 20 20 |== EINTR|). |
|0000d860| 20 20 20 20 20 20 20 20 | 20 20 63 6f 6e 74 69 6e | | contin|
|0000d870| 75 65 3b 0a 0a 20 20 20 | 20 20 20 20 20 20 20 20 |ue;.. | |
|0000d880| 20 20 6d 79 5f 70 65 72 | 72 6f 72 28 22 72 65 63 | my_per|ror("rec|
|0000d890| 76 66 72 6f 6d 20 65 72 | 72 6f 72 20 6f 6e 20 6d |vfrom er|ror on m|
|0000d8a0| 61 76 65 6e 5f 73 6f 63 | 6b 22 29 3b 0a 20 20 20 |aven_soc|k");. |
|0000d8b0| 20 20 20 20 20 20 20 7d | 0a 0a 20 20 20 20 20 20 | }|.. |
|0000d8c0| 20 20 20 20 72 65 74 75 | 72 6e 28 4d 41 56 45 4e | retu|rn(MAVEN|
|0000d8d0| 29 3b 0a 20 20 20 20 20 | 20 20 7d 0a 0a 20 20 20 |);. | }.. |
|0000d8e0| 20 20 20 20 69 66 20 28 | 46 44 5f 49 53 53 45 54 | if (|FD_ISSET|
|0000d8f0| 28 6d 61 76 65 6e 5f 63 | 6e 74 6c 5f 73 6f 63 6b |(maven_c|ntl_sock|
|0000d900| 2c 20 26 72 65 61 64 66 | 64 73 29 29 20 0a 20 20 |, &readf|ds)) . |
|0000d910| 20 20 20 20 20 7b 0a 20 | 20 20 20 20 20 20 20 20 | {. | |
|0000d920| 20 0a 20 20 20 20 20 20 | 20 20 20 20 69 66 20 28 | . | if (|
|0000d930| 28 2a 6d 73 67 6c 65 6e | 20 3d 20 72 65 63 76 66 |(*msglen| = recvf|
|0000d940| 72 6f 6d 28 6d 61 76 65 | 6e 5f 63 6e 74 6c 5f 73 |rom(mave|n_cntl_s|
|0000d950| 6f 63 6b 2c 70 6b 74 2c | 4d 41 58 4d 53 47 2c 30 |ock,pkt,|MAXMSG,0|
|0000d960| 2c 63 61 64 64 72 2c 26 | 63 61 64 72 6c 65 6e 29 |,caddr,&|cadrlen)|
|0000d970| 29 20 3c 20 30 29 0a 20 | 20 20 20 20 20 20 20 20 |) < 0). | |
|0000d980| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|0000d990| 69 66 20 28 65 72 72 6e | 6f 20 3d 3d 20 45 49 4e |if (errn|o == EIN|
|0000d9a0| 54 52 29 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |TR). | |
|0000d9b0| 20 20 20 20 63 6f 6e 74 | 69 6e 75 65 3b 0a 0a 20 | cont|inue;.. |
|0000d9c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 6d 79 5f 70 | | my_p|
|0000d9d0| 65 72 72 6f 72 28 22 72 | 65 63 76 66 72 6f 6d 20 |error("r|ecvfrom |
|0000d9e0| 65 72 72 6f 72 20 6f 6e | 20 6d 61 76 65 6e 5f 63 |error on| maven_c|
|0000d9f0| 6e 74 6c 5f 73 6f 63 6b | 22 29 3b 0a 20 20 20 20 |ntl_sock|");. |
|0000da00| 20 20 20 20 20 20 7d 0a | 0a 20 20 20 20 20 20 20 | }.|. |
|0000da10| 20 20 20 72 65 74 75 72 | 6e 28 4d 41 56 45 4e 5f | retur|n(MAVEN_|
|0000da20| 43 4e 54 4c 29 3b 0a 20 | 20 20 20 20 20 20 7d 0a |CNTL);. | }.|
|0000da30| 0a 23 69 66 64 65 66 20 | 4d 55 4c 54 49 0a 20 20 |.#ifdef |MULTI. |
|0000da40| 20 20 20 20 20 69 66 20 | 28 28 72 66 69 6e 5f 6d | if |((rfin_m|
|0000da50| 63 61 73 74 5f 73 6f 63 | 6b 29 20 26 26 20 28 46 |cast_soc|k) && (F|
|0000da60| 44 5f 49 53 53 45 54 28 | 72 66 69 6e 5f 6d 63 61 |D_ISSET(|rfin_mca|
|0000da70| 73 74 5f 73 6f 63 6b 2c | 20 26 72 65 61 64 66 64 |st_sock,| &readfd|
|0000da80| 73 29 29 29 0a 20 20 20 | 20 20 20 20 7b 0a 20 20 |s))). | {. |
|0000da90| 20 20 20 20 20 20 20 20 | 0a 20 20 20 20 20 20 20 | |. |
|0000daa0| 20 20 20 69 66 20 28 28 | 2a 6d 73 67 6c 65 6e 20 | if ((|*msglen |
|0000dab0| 3d 20 72 65 63 76 66 72 | 6f 6d 28 72 66 69 6e 5f |= recvfr|om(rfin_|
|0000dac0| 6d 63 61 73 74 5f 73 6f | 63 6b 2c 70 6b 74 2c 4d |mcast_so|ck,pkt,M|
|0000dad0| 41 58 4d 53 47 2c 30 2c | 63 61 64 64 72 2c 26 63 |AXMSG,0,|caddr,&c|
|0000dae0| 61 64 72 6c 65 6e 29 29 | 20 3c 20 30 29 0a 20 20 |adrlen))| < 0). |
|0000daf0| 20 20 20 20 20 20 20 20 | 7b 0a 20 20 20 20 20 20 | |{. |
|0000db00| 20 20 20 20 20 20 20 69 | 66 20 28 65 72 72 6e 6f | i|f (errno|
|0000db10| 20 3d 3d 20 45 49 4e 54 | 52 29 0a 20 20 20 20 20 | == EINT|R). |
|0000db20| 20 20 20 20 20 20 20 20 | 20 20 20 63 6f 6e 74 69 | | conti|
|0000db30| 6e 75 65 3b 0a 0a 20 20 | 20 20 20 20 20 20 20 20 |nue;.. | |
|0000db40| 20 20 20 6d 79 5f 70 65 | 72 72 6f 72 28 22 72 65 | my_pe|rror("re|
|0000db50| 63 76 66 72 6f 6d 20 65 | 72 72 6f 72 20 6f 6e 20 |cvfrom e|rror on |
|0000db60| 72 65 66 69 6e 5f 6d 63 | 61 73 74 5f 73 6f 63 6b |refin_mc|ast_sock|
|0000db70| 22 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 7d 0a |");. | }.|
|0000db80| 0a 20 20 20 20 20 20 20 | 20 20 20 72 65 74 75 72 |. | retur|
|0000db90| 6e 28 52 45 46 31 56 49 | 44 45 4f 29 3b 0a 20 20 |n(REF1VI|DEO);. |
|0000dba0| 20 20 20 20 20 7d 0a 0a | 20 20 20 20 20 20 20 69 | }..| i|
|0000dbb0| 66 20 28 28 69 6e 6f 75 | 74 5f 6d 63 61 73 74 5f |f ((inou|t_mcast_|
|0000dbc0| 73 6f 63 6b 29 20 26 26 | 20 28 46 44 5f 49 53 53 |sock) &&| (FD_ISS|
|0000dbd0| 45 54 28 69 6e 6f 75 74 | 5f 6d 63 61 73 74 5f 73 |ET(inout|_mcast_s|
|0000dbe0| 6f 63 6b 2c 20 26 72 65 | 61 64 66 64 73 29 29 29 |ock, &re|adfds)))|
|0000dbf0| 0a 20 20 20 20 20 20 20 | 7b 0a 20 20 20 20 20 20 |. |{. |
|0000dc00| 20 20 20 20 0a 20 20 20 | 20 20 20 20 20 20 20 69 | . | i|
|0000dc10| 66 20 28 28 2a 6d 73 67 | 6c 65 6e 20 3d 20 72 65 |f ((*msg|len = re|
|0000dc20| 63 76 66 72 6f 6d 28 69 | 6e 6f 75 74 5f 6d 63 61 |cvfrom(i|nout_mca|
|0000dc30| 73 74 5f 73 6f 63 6b 2c | 70 6b 74 2c 4d 41 58 4d |st_sock,|pkt,MAXM|
|0000dc40| 53 47 2c 30 2c 63 61 64 | 64 72 2c 26 63 61 64 72 |SG,0,cad|dr,&cadr|
|0000dc50| 6c 65 6e 29 29 20 3c 20 | 30 29 0a 20 20 20 20 20 |len)) < |0). |
|0000dc60| 20 20 20 20 20 7b 0a 20 | 20 20 20 20 20 20 20 20 | {. | |
|0000dc70| 20 20 20 20 69 66 20 28 | 65 72 72 6e 6f 20 3d 3d | if (|errno ==|
|0000dc80| 20 45 49 4e 54 52 29 0a | 20 20 20 20 20 20 20 20 | EINTR).| |
|0000dc90| 20 20 20 20 20 20 20 20 | 63 6f 6e 74 69 6e 75 65 | |continue|
|0000dca0| 3b 0a 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;.. | |
|0000dcb0| 6d 79 5f 70 65 72 72 6f | 72 28 22 72 65 63 76 66 |my_perro|r("recvf|
|0000dcc0| 72 6f 6d 20 65 72 72 6f | 72 20 6f 6e 20 69 6e 6f |rom erro|r on ino|
|0000dcd0| 75 74 5f 6d 63 61 73 74 | 5f 73 6f 63 6b 22 29 3b |ut_mcast|_sock");|
|0000dce0| 0a 20 20 20 20 20 20 20 | 20 20 20 7d 0a 0a 20 20 |. | }.. |
|0000dcf0| 20 20 20 20 20 20 20 20 | 72 65 74 75 72 6e 28 52 | |return(R|
|0000dd00| 45 46 32 56 49 44 45 4f | 29 3b 0a 20 20 20 20 20 |EF2VIDEO|);. |
|0000dd10| 20 20 7d 0a 23 65 6e 64 | 69 66 0a 0a 20 20 20 20 | }.#end|if.. |
|0000dd20| 20 20 20 69 66 20 28 46 | 44 5f 49 53 53 45 54 28 | if (F|D_ISSET(|
|0000dd30| 63 6e 74 72 6c 5f 73 6f | 63 6b 2c 20 26 72 65 61 |cntrl_so|ck, &rea|
|0000dd40| 64 66 64 73 29 29 0a 20 | 20 20 20 20 20 20 7b 0a |dfds)). | {.|
|0000dd50| 20 20 20 20 20 20 20 20 | 20 20 69 66 20 28 6d 73 | | if (ms|
|0000dd60| 67 5f 73 6f 63 6b 20 21 | 3d 20 30 29 0a 20 20 20 |g_sock !|= 0). |
|0000dd70| 20 20 20 20 20 20 20 7b | 0a 20 20 20 20 20 20 20 | {|. |
|0000dd80| 20 20 20 20 20 20 64 6f | 6c 6f 67 28 22 63 6f 6e | do|log("con|
|0000dd90| 74 72 6f 6c 20 6d 65 73 | 73 61 67 65 20 77 69 74 |trol mes|sage wit|
|0000dda0| 68 20 61 20 6e 6f 6e 2d | 7a 65 72 6f 20 6d 73 67 |h a non-|zero msg|
|0000ddb0| 5f 73 6f 63 6b 5c 6e 22 | 29 3b 0a 09 20 20 20 20 |_sock\n"|);.. |
|0000ddc0| 20 65 78 69 74 28 31 29 | 3b 0a 09 20 20 7d 0a 0a | exit(1)|;.. }..|
|0000ddd0| 20 20 20 20 20 20 20 20 | 20 20 69 66 20 28 28 6d | | if ((m|
|0000dde0| 73 67 5f 73 6f 63 6b 20 | 3d 20 61 63 63 65 70 74 |sg_sock |= accept|
|0000ddf0| 28 63 6e 74 72 6c 5f 73 | 6f 63 6b 2c 63 61 64 64 |(cntrl_s|ock,cadd|
|0000de00| 72 2c 26 63 61 64 72 6c | 65 6e 29 29 20 3c 20 30 |r,&cadrl|en)) < 0|
|0000de10| 29 0a 20 20 20 20 20 20 | 20 20 20 20 7b 0a 20 20 |). | {. |
|0000de20| 20 20 20 20 20 20 20 20 | 20 20 20 69 66 20 28 65 | | if (e|
|0000de30| 72 72 6e 6f 20 3d 3d 20 | 45 49 4e 54 52 29 0a 20 |rrno == |EINTR). |
|0000de40| 20 20 20 20 20 20 20 20 | 20 20 20 20 7b 0a 09 20 | | {.. |
|0000de50| 20 20 20 20 20 20 20 6d | 73 67 5f 73 6f 63 6b 20 | m|sg_sock |
|0000de60| 3d 20 30 3b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |= 0;. | |
|0000de70| 20 20 20 20 20 63 6f 6e | 74 69 6e 75 65 3b 0a 20 | con|tinue;. |
|0000de80| 20 20 20 20 20 20 20 20 | 20 20 20 20 7d 0a 0a 20 | | }.. |
|0000de90| 20 20 20 20 20 20 20 20 | 20 20 20 20 6d 79 5f 70 | | my_p|
|0000dea0| 65 72 72 6f 72 28 22 61 | 63 63 65 70 74 22 29 3b |error("a|ccept");|
|0000deb0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 65 78 |. | ex|
|0000dec0| 69 74 28 31 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |it(1);. | |
|0000ded0| 20 7d 0a 0a 0a 20 20 20 | 20 20 20 20 20 20 20 69 | }... | i|
|0000dee0| 66 20 28 28 63 6f 6e 74 | 72 6f 6c 5f 69 70 20 3d |f ((cont|rol_ip =|
|0000def0| 3d 20 30 29 20 7c 7c 20 | 28 28 63 6f 6e 74 72 6f |= 0) || |((contro|
|0000df00| 6c 5f 69 70 20 21 3d 20 | 2d 31 29 20 26 26 20 28 |l_ip != |-1) && (|
|0000df10| 63 6f 6e 74 72 6f 6c 5f | 69 70 20 21 3d 20 63 61 |control_|ip != ca|
|0000df20| 64 64 72 2d 3e 73 69 6e | 5f 61 64 64 72 2e 73 5f |ddr->sin|_addr.s_|
|0000df30| 61 64 64 72 29 29 29 0a | 20 20 20 20 20 20 20 20 |addr))).| |
|0000df40| 20 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|0000df50| 20 64 6f 6c 6f 67 28 22 | 43 6f 6e 74 72 6f 6c 20 | dolog("|Control |
|0000df60| 6d 65 73 73 61 67 65 20 | 66 72 6f 6d 20 25 73 20 |message |from %s |
|0000df70| 69 73 20 64 69 73 61 6c | 6c 6f 77 65 64 5c 6e 22 |is disal|lowed\n"|
|0000df80| 2c 69 6e 65 74 5f 6e 74 | 6f 61 28 63 61 64 64 72 |,inet_nt|oa(caddr|
|0000df90| 2d 3e 73 69 6e 5f 61 64 | 64 72 29 29 3b 0a 20 20 |->sin_ad|dr));. |
|0000dfa0| 20 20 20 20 20 20 20 20 | 20 20 20 63 6c 6f 73 65 | | close|
|0000dfb0| 28 6d 73 67 5f 73 6f 63 | 6b 29 3b 0a 20 20 20 20 |(msg_soc|k);. |
|0000dfc0| 20 20 20 20 20 20 20 20 | 20 6d 73 67 5f 73 6f 63 | | msg_soc|
|0000dfd0| 6b 20 3d 20 30 3b 0a 20 | 20 20 20 20 20 20 20 20 |k = 0;. | |
|0000dfe0| 20 20 20 20 63 6f 6e 74 | 69 6e 75 65 3b 0a 20 20 | cont|inue;. |
|0000dff0| 20 20 20 20 20 20 20 20 | 7d 0a 0a 0a 20 20 20 20 | |}... |
|0000e000| 20 20 20 20 20 20 64 6f | 6c 6f 67 28 22 69 6e 63 | do|log("inc|
|0000e010| 6f 6d 69 6e 67 20 63 6f | 6e 74 72 6f 6c 20 6d 65 |oming co|ntrol me|
|0000e020| 73 73 61 67 65 20 6e 65 | 77 20 6d 73 67 5f 73 6f |ssage ne|w msg_so|
|0000e030| 63 6b 20 69 73 20 25 64 | 5c 6e 22 2c 6d 73 67 5f |ck is %d|\n",msg_|
|0000e040| 73 6f 63 6b 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |sock);. | |
|0000e050| 20 73 65 74 73 6f 63 6b | 6f 70 74 28 6d 73 67 5f | setsock|opt(msg_|
|0000e060| 73 6f 63 6b 2c 53 4f 4c | 5f 53 4f 43 4b 45 54 2c |sock,SOL|_SOCKET,|
|0000e070| 53 4f 5f 52 45 55 53 45 | 41 44 44 52 2c 31 2c 30 |SO_REUSE|ADDR,1,0|
|0000e080| 29 3b 0a 09 20 20 63 6f | 6e 74 69 6e 75 65 3b 0a |);.. co|ntinue;.|
|0000e090| 20 20 20 20 20 20 20 20 | 7d 0a 0a 20 20 20 20 20 | |}.. |
|0000e0a0| 20 20 69 66 20 28 46 44 | 5f 49 53 53 45 54 28 6d | if (FD|_ISSET(m|
|0000e0b0| 73 67 5f 73 6f 63 6b 2c | 20 26 72 65 61 64 66 64 |sg_sock,| &readfd|
|0000e0c0| 73 29 29 0a 20 20 20 20 | 20 20 20 7b 0a 20 20 20 |s)). | {. |
|0000e0d0| 20 20 20 20 20 20 20 69 | 66 20 28 28 2a 6d 73 67 | i|f ((*msg|
|0000e0e0| 6c 65 6e 20 3d 20 72 65 | 63 76 28 6d 73 67 5f 73 |len = re|cv(msg_s|
|0000e0f0| 6f 63 6b 2c 70 6b 74 2c | 4d 41 58 4d 53 47 2c 30 |ock,pkt,|MAXMSG,0|
|0000e100| 29 29 20 3c 20 30 29 0a | 20 20 20 20 20 20 20 20 |)) < 0).| |
|0000e110| 20 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|0000e120| 20 69 66 20 28 65 72 72 | 6e 6f 20 3d 3d 20 45 49 | if (err|no == EI|
|0000e130| 4e 54 52 29 0a 20 20 20 | 20 20 20 20 20 20 20 20 |NTR). | |
|0000e140| 20 20 20 20 20 63 6f 6e | 74 69 6e 75 65 3b 0a 0a | con|tinue;..|
|0000e150| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 6d 79 5f | | my_|
|0000e160| 70 65 72 72 6f 72 28 22 | 72 65 63 76 66 72 6f 6d |perror("|recvfrom|
|0000e170| 20 65 72 72 6f 72 20 6f | 6e 20 6d 73 67 5f 73 6f | error o|n msg_so|
|0000e180| 63 6b 22 29 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |ck");. | |
|0000e190| 20 20 20 65 78 69 74 20 | 28 31 29 3b 0a 20 20 20 | exit |(1);. |
|0000e1a0| 20 20 20 20 20 20 20 7d | 0a 20 20 20 0a 20 20 20 | }|. . |
|0000e1b0| 20 20 20 20 20 20 20 69 | 66 20 28 2a 6d 73 67 6c | i|f (*msgl|
|0000e1c0| 65 6e 20 3d 3d 20 30 29 | 0a 20 20 20 20 20 20 20 |en == 0)|. |
|0000e1d0| 20 20 20 7b 0a 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|0000e1e0| 20 20 63 6c 6f 73 65 28 | 6d 73 67 5f 73 6f 63 6b | close(|msg_sock|
|0000e1f0| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |);. | |
|0000e200| 6d 73 67 5f 73 6f 63 6b | 20 3d 20 30 3b 0a 20 20 |msg_sock| = 0;. |
|0000e210| 20 20 20 20 20 20 20 20 | 20 20 20 63 6f 6e 74 69 | | conti|
|0000e220| 6e 75 65 3b 0a 20 20 20 | 20 20 20 20 20 20 20 7d |nue;. | }|
|0000e230| 0a 20 20 20 0a 20 20 20 | 20 20 20 20 20 20 20 72 |. . | r|
|0000e240| 65 74 75 72 6e 20 28 43 | 4f 4e 54 52 4f 4c 29 3b |eturn (C|ONTROL);|
|0000e250| 0a 20 20 20 20 20 20 20 | 7d 0a 20 20 20 20 7d 0a |. |}. }.|
|0000e260| 7d 0a 76 69 64 70 74 72 | 2d 3e 63 6f 6e 66 65 72 |}.vidptr|->confer|
|0000e270| 65 6e 63 65 69 64 29 3b | 0a 20 0a 20 20 20 20 20 |enceid);|. . |
|0000e280| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|0000e290| 20 64 6f 6c 6f 67 28 22 | 43 6f 6e 66 2d 69 64 20 | dolog("|Conf-id |
|0000e2a0| 63 68 61 6e 67 65 64 20 | 74 6f 20 25 64 5c 6e 22 |changed |to %d\n"|
|0000e2b0| 2c 20 63 6f 6e 66 65 72 | 65 6e 63 65 5f 69 64 29 |, confer|ence_id)|
|0000e2c0| 3b 0a 20 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |;. . | |
|0000e2d0| 20 20 20 20 20 20 20 20 | 20 20 2f 2a 20 77 65 65 | | /* wee|
|0000e2e0| 64 20 6f 75 74 20 61 6c | 6c 20 74 68 65 20 63 6c |d out al|l the cl|
|0000e2f0| 69 65 6e 74 73 20 77 68 | 6f 20 6e 6f 77 20 68 61 |ients wh|o now ha|
|0000e300| 76 65 20 62 61 64 20 63 | 6f 6e 66 2d 69 64 27 73 |ve bad c|onf-id's|
|0000e310| 20 20 20 20 20 20 20 20 | 20 20 2a 2f 0a 20 20 20 | | */. |
|0000e320| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|0000e330| 20 20 20 2f 2a 20 68 6f | 77 65 76 65 72 20 69 66 | /* ho|wever if|
|0000e340| 20 74 68 65 20 67 6f 64 | 2d 69 70 20 63 68 61 6e | the god|-ip chan|
|0000e350| 67 65 64 20 69 74 20 74 | 6f 20 30 2c 20 64 6f 6e |ged it t|o 0, don|
|0000e360| 27 74 20 6b 69 63 6b 20 | 61 6e 79 62 6f 64 79 20 |'t kick |anybody |
|0000e370| 6f 66 66 2a 2f 0a 20 0a | 20 20 20 20 20 20 20 20 |off*/. .| |
|0000e380| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 69 66 | | if|
|0000e390| 20 28 63 6f 6e 66 65 72 | 65 6e 63 65 5f 69 64 20 | (confer|ence_id |
|0000e3a0| 21 3d 20 30 29 0a 20 20 | 20 20 20 20 20 20 20 20 |!= 0). | |
|0000e3b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 72 | | r|
|0000e3c0| 65 6d 6f 76 65 5f 73 6f | 6d 65 5f 63 6c 69 65 6e |emove_so|me_clien|
|0000e3d0| 74 73 28 63 6f 6e 66 65 | 72 65 6e 63 65 5f 69 64 |ts(confe|rence_id|
|0000e3e0| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |);. | |
|0000e3f0| 20 20 20 20 20 20 7d 0a | 20 20 20 20 20 20 20 20 | }.| |
|0000e400| 32 2e 33 30 62 31 2f 63 | 6f 6e 74 72 6f 6c 2e 63 |2.30b1/c|ontrol.c|
|0000e410| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e420| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e430| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e440| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e450| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e460| 00 00 00 00 31 30 30 36 | 34 34 20 00 30 30 30 30 |....1006|44 .0000|
|0000e470| 30 36 20 00 30 30 30 30 | 30 30 20 00 30 30 30 30 |06 .0000|00 .0000|
|0000e480| 30 30 32 33 30 31 33 20 | 30 35 36 30 36 35 32 30 |0023013 |05606520|
|0000e490| 33 36 32 20 30 31 34 30 | 33 35 00 20 30 00 00 00 |362 0140|35. 0...|
|0000e4a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e4b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e4c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e4d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e4e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e4f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e500| 00 75 73 74 61 72 00 30 | 30 6c 79 6e 6e 00 00 00 |.ustar.0|0lynn...|
|0000e510| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e520| 00 00 00 00 00 00 00 00 | 00 73 79 73 74 65 6d 00 |........|.system.|
|0000e530| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e540| 00 00 00 00 00 00 00 00 | 00 30 30 30 30 30 30 20 |........|.000000 |
|0000e550| 00 30 30 30 30 30 30 20 | 00 00 00 00 00 00 00 00 |.000000 |........|
|0000e560| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e570| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e580| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e590| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e5a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e5b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e5c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e5d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e5e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e5f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0000e600| 2f 2a 0a 0a 43 6f 70 79 | 72 69 67 68 74 20 31 39 |/*..Copy|right 19|
|0000e610| 39 33 2c 20 31 39 39 34 | 2c 20 43 6f 72 6e 65 6c |93, 1994|, Cornel|
|0000e620| 6c 20 55 6e 69 76 65 72 | 73 69 74 79 0a 0a 43 6f |l Univer|sity..Co|
|0000e630| 72 6e 65 6c 6c 20 68 65 | 72 65 62 79 20 67 72 61 |rnell he|reby gra|
|0000e640| 6e 74 73 20 70 65 72 6d | 69 73 73 69 6f 6e 20 74 |nts perm|ission t|
|0000e650| 6f 20 75 73 65 2c 20 63 | 6f 70 79 2c 20 6d 6f 64 |o use, c|opy, mod|
|0000e660| 69 66 79 2c 20 61 6e 64 | 20 64 69 73 74 72 69 62 |ify, and| distrib|
|0000e670| 75 74 65 20 74 68 69 73 | 20 70 72 6f 67 72 61 6d |ute this| program|
|0000e680| 20 66 6f 72 20 61 6e 79 | 20 70 75 72 70 6f 73 65 | for any| purpose|
|0000e690| 20 0a 61 6e 64 20 77 69 | 74 68 6f 75 74 20 66 65 | .and wi|thout fe|
|0000e6a0| 65 2c 20 70 72 6f 76 69 | 64 65 64 20 74 68 61 74 |e, provi|ded that|
|0000e6b0| 20 74 68 65 73 65 20 63 | 6f 70 79 72 69 67 68 74 | these c|opyright|
|0000e6c0| 20 61 6e 64 20 70 65 72 | 6d 69 73 73 69 6f 6e 20 | and per|mission |
|0000e6d0| 6e 6f 74 69 63 65 73 20 | 61 70 70 65 61 72 20 6f |notices |appear o|
|0000e6e0| 6e 20 61 6c 6c 20 63 6f | 70 69 65 73 20 61 6e 64 |n all co|pies and|
|0000e6f0| 20 0a 73 75 70 70 6f 72 | 74 69 6e 67 20 64 6f 63 | .suppor|ting doc|
|0000e700| 75 6d 65 6e 74 61 74 69 | 6f 6e 2c 20 74 68 65 20 |umentati|on, the |
|0000e710| 6e 61 6d 65 20 6f 66 20 | 43 6f 72 6e 65 6c 6c 20 |name of |Cornell |
|0000e720| 6e 6f 74 20 62 65 20 75 | 73 65 64 20 69 6e 20 61 |not be u|sed in a|
|0000e730| 64 76 65 72 74 69 73 69 | 6e 67 20 6f 72 20 70 75 |dvertisi|ng or pu|
|0000e740| 62 6c 69 63 69 74 79 20 | 70 65 72 74 61 69 6e 69 |blicity |pertaini|
|0000e750| 6e 67 20 0a 74 6f 20 64 | 69 73 74 72 69 62 75 74 |ng .to d|istribut|
|0000e760| 69 6f 6e 20 6f 66 20 74 | 68 65 20 70 72 6f 67 72 |ion of t|he progr|
|0000e770| 61 6d 20 77 69 74 68 6f | 75 74 20 73 70 65 63 69 |am witho|ut speci|
|0000e780| 66 69 63 20 70 72 69 6f | 72 20 70 65 72 6d 69 73 |fic prio|r permis|
|0000e790| 73 69 6f 6e 2c 20 6e 6f | 74 69 63 65 20 62 65 20 |sion, no|tice be |
|0000e7a0| 67 69 76 65 6e 20 69 6e | 20 73 75 70 70 6f 72 74 |given in| support|
|0000e7b0| 69 6e 67 20 0a 64 6f 63 | 75 6d 65 6e 74 61 74 69 |ing .doc|umentati|
|0000e7c0| 6f 6e 20 74 68 61 74 20 | 63 6f 70 79 69 6e 67 20 |on that |copying |
|0000e7d0| 61 6e 64 20 64 69 73 74 | 72 69 62 75 74 69 6f 6e |and dist|ribution|
|0000e7e0| 20 69 73 20 62 79 20 70 | 65 72 6d 69 73 73 69 6f | is by p|ermissio|
|0000e7f0| 6e 20 6f 66 20 43 6f 72 | 6e 65 6c 6c 2e 20 20 43 |n of Cor|nell. C|
|0000e800| 4f 52 4e 45 4c 4c 20 4d | 41 4b 45 53 20 4e 4f 20 |ORNELL M|AKES NO |
|0000e810| 0a 52 45 50 52 45 53 45 | 4e 54 41 54 49 4f 4e 53 |.REPRESE|NTATIONS|
|0000e820| 20 4f 52 20 57 41 52 52 | 41 4e 54 45 45 53 2c 20 | OR WARR|ANTEES, |
|0000e830| 45 58 50 52 45 53 53 20 | 4f 52 20 49 4d 50 4c 49 |EXPRESS |OR IMPLI|
|0000e840| 45 44 2e 20 20 42 79 20 | 77 61 79 20 6f 66 20 65 |ED. By |way of e|
|0000e850| 78 61 6d 70 6c 65 2c 20 | 62 75 74 20 6e 6f 74 20 |xample, |but not |
|0000e860| 6c 69 6d 69 74 61 74 69 | 6f 6e 2c 20 0a 43 4f 52 |limitati|on, .COR|
|0000e870| 4e 45 4c 4c 20 4d 41 4b | 45 53 20 4e 4f 20 52 45 |NELL MAK|ES NO RE|
|0000e880| 50 52 45 53 45 4e 54 41 | 54 49 4f 4e 53 20 4f 52 |PRESENTA|TIONS OR|
|0000e890| 20 57 41 52 52 41 4e 54 | 49 45 53 20 4f 46 20 4d | WARRANT|IES OF M|
|0000e8a0| 45 52 43 48 41 4e 54 41 | 42 49 4c 49 54 59 20 4f |ERCHANTA|BILITY O|
|0000e8b0| 52 20 46 49 54 4e 45 53 | 53 20 46 4f 52 20 41 4e |R FITNES|S FOR AN|
|0000e8c0| 59 20 50 41 52 54 49 43 | 55 4c 41 52 20 0a 50 55 |Y PARTIC|ULAR .PU|
|0000e8d0| 52 50 4f 53 45 20 4f 52 | 20 54 48 41 54 20 54 48 |RPOSE OR| THAT TH|
|0000e8e0| 45 20 55 53 45 20 4f 46 | 20 54 48 49 53 20 53 4f |E USE OF| THIS SO|
|0000e8f0| 46 54 57 41 52 45 20 4f | 52 20 44 4f 43 55 4d 45 |FTWARE O|R DOCUME|
|0000e900| 4e 54 41 54 49 4f 4e 20 | 57 49 4c 4c 20 4e 4f 54 |NTATION |WILL NOT|
|0000e910| 20 49 4e 46 52 49 4e 47 | 45 20 41 4e 59 20 50 41 | INFRING|E ANY PA|
|0000e920| 54 45 4e 54 53 2c 20 43 | 4f 50 59 52 49 47 48 54 |TENTS, C|OPYRIGHT|
|0000e930| 53 2c 20 0a 54 52 41 44 | 45 4d 41 52 4b 53 2c 20 |S, .TRAD|EMARKS, |
|0000e940| 4f 52 20 4f 54 48 45 52 | 20 52 49 47 48 54 53 2e |OR OTHER| RIGHTS.|
|0000e950| 20 20 43 6f 72 6e 65 6c | 6c 20 73 68 61 6c 6c 20 | Cornel|l shall |
|0000e960| 6e 6f 74 20 62 65 20 68 | 65 6c 64 20 6c 69 61 62 |not be h|eld liab|
|0000e970| 6c 65 20 66 6f 72 20 61 | 6e 79 20 6c 69 61 62 69 |le for a|ny liabi|
|0000e980| 6c 69 74 79 20 77 69 74 | 68 20 72 65 73 70 65 63 |lity wit|h respec|
|0000e990| 74 20 74 6f 20 0a 61 6e | 79 20 63 6c 61 69 6d 20 |t to .an|y claim |
|0000e9a0| 62 79 20 74 68 65 20 75 | 73 65 72 20 6f 72 20 61 |by the u|ser or a|
|0000e9b0| 6e 79 20 6f 74 68 65 72 | 20 70 61 72 74 79 20 61 |ny other| party a|
|0000e9c0| 72 69 73 69 6e 67 20 66 | 72 6f 6d 20 75 73 65 20 |rising f|rom use |
|0000e9d0| 6f 66 20 74 68 65 20 70 | 72 6f 67 72 61 6d 2e 0a |of the p|rogram..|
|0000e9e0| 0a 54 68 69 73 20 6d 61 | 74 65 72 69 61 6c 20 69 |.This ma|terial i|
|0000e9f0| 73 20 70 61 72 74 69 61 | 6c 6c 79 20 62 61 73 65 |s partia|lly base|
|0000ea00| 64 20 6f 6e 20 77 6f 72 | 6b 20 73 70 6f 6e 73 6f |d on wor|k sponso|
|0000ea10| 72 65 64 20 62 79 20 74 | 68 65 20 4e 61 74 69 6f |red by t|he Natio|
|0000ea20| 6e 61 6c 20 53 63 69 65 | 6e 63 65 20 46 6f 75 6e |nal Scie|nce Foun|
|0000ea30| 64 61 74 69 6f 6e 20 75 | 6e 64 65 72 20 43 6f 6f |dation u|nder Coo|
|0000ea40| 70 65 72 61 74 69 76 65 | 20 0a 41 67 72 65 65 6d |perative| .Agreem|
|0000ea50| 65 6e 74 20 4e 6f 2e 20 | 4e 43 52 2d 39 33 31 38 |ent No. |NCR-9318|
|0000ea60| 33 33 37 2e 20 20 54 68 | 65 20 67 6f 76 65 72 6e |337. Th|e govern|
|0000ea70| 6d 65 6e 74 20 68 61 73 | 20 63 65 72 74 61 69 6e |ment has| certain|
|0000ea80| 20 72 69 67 68 74 73 20 | 69 6e 20 74 68 69 73 20 | rights |in this |
|0000ea90| 6d 61 74 65 72 69 61 6c | 2e 0a 0a 2a 2f 0a 0a 0a |material|...*/...|
|0000eaa0| 0a 23 69 6e 63 6c 75 64 | 65 20 3c 73 74 64 69 6f |.#includ|e <stdio|
|0000eab0| 2e 68 3e 0a 23 69 6e 63 | 6c 75 64 65 20 3c 73 69 |.h>.#inc|lude <si|
|0000eac0| 67 6e 61 6c 2e 68 3e 0a | 23 69 6e 63 6c 75 64 65 |gnal.h>.|#include|
|0000ead0| 20 3c 65 72 72 6e 6f 2e | 68 3e 0a 23 69 6e 63 6c | <errno.|h>.#incl|
|0000eae0| 75 64 65 20 3c 73 79 73 | 2f 74 79 70 65 73 2e 68 |ude <sys|/types.h|
|0000eaf0| 3e 0a 23 69 6e 63 6c 75 | 64 65 20 3c 73 79 73 2f |>.#inclu|de <sys/|
|0000eb00| 73 6f 63 6b 65 74 2e 68 | 3e 0a 23 69 6e 63 6c 75 |socket.h|>.#inclu|
|0000eb10| 64 65 20 3c 73 79 73 2f | 73 6f 63 6b 65 74 76 61 |de <sys/|socketva|
|0000eb20| 72 2e 68 3e 0a 23 69 6e | 63 6c 75 64 65 20 3c 6e |r.h>.#in|clude <n|
|0000eb30| 65 74 69 6e 65 74 2f 69 | 6e 2e 68 3e 0a 0a 23 69 |etinet/i|n.h>..#i|
|0000eb40| 6e 63 6c 75 64 65 20 22 | 72 65 66 6c 65 63 74 2e |nclude "|reflect.|
|0000eb50| 68 22 0a 23 69 6e 63 6c | 75 64 65 20 22 72 65 66 |h".#incl|ude "ref|
|0000eb60| 6d 6f 6e 2e 68 22 0a 0a | 23 69 66 64 65 66 20 44 |mon.h"..|#ifdef D|
|0000eb70| 45 42 55 47 0a 65 78 74 | 65 72 6e 20 73 68 6f 72 |EBUG.ext|ern shor|
|0000eb80| 74 20 64 65 62 75 67 3b | 0a 23 65 6e 64 69 66 0a |t debug;|.#endif.|
|0000eb90| 0a 65 78 74 65 72 6e 20 | 63 6c 69 65 6e 74 20 2a |.extern |client *|
|0000eba0| 63 68 65 61 64 3b 0a 65 | 78 74 65 72 6e 20 6d 61 |chead;.e|xtern ma|
|0000ebb0| 76 65 6e 5f 63 6c 69 65 | 6e 74 20 2a 6d 68 65 61 |ven_clie|nt *mhea|
|0000ebc0| 64 3b 0a 0a 65 78 74 65 | 72 6e 20 69 6e 74 20 6d |d;..exte|rn int m|
|0000ebd0| 73 67 5f 73 6f 63 6b 3b | 0a 65 78 74 65 72 6e 20 |sg_sock;|.extern |
|0000ebe0| 63 68 61 72 20 63 6f 6e | 66 5f 62 75 66 5b 5d 3b |char con|f_buf[];|
|0000ebf0| 0a 0a 65 78 74 65 72 6e | 20 63 68 61 72 20 73 74 |..extern| char st|
|0000ec00| 61 72 74 5f 74 69 6d 65 | 5b 5d 3b 0a 65 78 74 65 |art_time|[];.exte|
|0000ec10| 72 6e 20 69 6e 74 20 63 | 6f 6e 66 65 72 65 6e 63 |rn int c|onferenc|
|0000ec20| 65 5f 69 64 3b 0a 0a 76 | 6f 69 64 20 6d 79 5f 70 |e_id;..v|oid my_p|
|0000ec30| 65 72 72 6f 72 28 29 3b | 0a 0a 70 72 6f 63 65 73 |error();|..proces|
|0000ec40| 73 5f 63 6f 6e 74 72 6f | 6c 5f 70 6b 74 28 63 6f |s_contro|l_pkt(co|
|0000ec50| 6e 70 6b 74 29 0a 20 20 | 20 20 52 65 66 43 6f 6e |npkt). | RefCon|
|0000ec60| 50 6b 74 20 2a 63 6f 6e | 70 6b 74 3b 0a 7b 0a 20 |Pkt *con|pkt;.{. |
|0000ec70| 20 20 20 52 65 66 43 6f | 6e 50 6b 74 20 20 20 20 | RefCo|nPkt |
|0000ec80| 20 20 20 20 70 6b 74 3b | 0a 20 20 20 20 63 6c 69 | pkt;|. cli|
|0000ec90| 65 6e 74 20 20 20 20 20 | 20 20 20 20 20 20 2a 63 |ent | *c|
|0000eca0| 74 6d 70 3b 0a 20 20 20 | 20 63 68 61 72 20 20 20 |tmp;. | char |
|0000ecb0| 20 20 20 20 20 20 20 20 | 20 20 62 75 66 5b 32 35 | | buf[25|
|0000ecc0| 35 5d 2c 2a 62 70 74 72 | 3b 0a 20 20 20 20 73 68 |5],*bptr|;. sh|
|0000ecd0| 6f 72 74 20 20 20 20 20 | 20 20 20 20 20 20 20 74 |ort | t|
|0000ece0| 6f 74 61 6c 5f 6c 65 6e | 2c 6c 65 6e 2c 63 6e 74 |otal_len|,len,cnt|
|0000ecf0| 3b 0a 20 20 20 20 69 6e | 74 20 20 20 20 20 20 20 |;. in|t |
|0000ed00| 20 20 20 20 20 20 20 61 | 72 67 63 3b 0a 20 20 20 | a|rgc;. |
|0000ed10| 20 63 68 61 72 20 20 20 | 20 20 20 20 20 20 20 20 | char | |
|0000ed20| 20 20 2a 2a 61 72 67 76 | 3b 0a 20 20 20 20 73 74 | **argv|;. st|
|0000ed30| 72 75 63 74 20 69 6e 5f | 61 64 64 72 20 20 20 69 |ruct in_|addr i|
|0000ed40| 6e 3b 0a 0a 20 20 20 20 | 73 77 69 74 63 68 28 6e |n;.. |switch(n|
|0000ed50| 74 6f 68 73 28 63 6f 6e | 70 6b 74 2d 3e 6d 73 67 |tohs(con|pkt->msg|
|0000ed60| 5f 74 79 70 65 29 29 0a | 20 20 20 20 7b 0a 20 20 |_type)).| {. |
|0000ed70| 20 20 20 20 20 63 61 73 | 65 20 54 45 52 4d 3a 0a | cas|e TERM:.|
|0000ed80| 09 20 20 64 6f 6c 6f 67 | 28 22 54 45 52 4d 20 72 |. dolog|("TERM r|
|0000ed90| 65 63 65 69 76 65 64 20 | 6f 6e 20 63 6f 6e 74 72 |eceived |on contr|
|0000eda0| 6f 6c 20 73 6f 63 6b 65 | 74 5c 6e 22 29 3b 0a 09 |ol socke|t\n");..|
|0000edb0| 20 20 65 78 69 74 28 31 | 29 3b 0a 0a 20 20 20 20 | exit(1|);.. |
|0000edc0| 20 20 20 63 61 73 65 20 | 56 45 52 53 49 4f 4e 3a | case |VERSION:|
|0000edd0| 0a 09 20 20 64 6f 6c 6f | 67 28 22 56 45 52 53 49 |.. dolo|g("VERSI|
|0000ede0| 4f 4e 20 72 65 63 65 69 | 76 65 64 20 6f 6e 20 63 |ON recei|ved on c|
|0000edf0| 6f 6e 74 72 6f 6c 20 73 | 6f 63 6b 65 74 5c 6e 22 |ontrol s|ocket\n"|
|0000ee00| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 70 6b 74 |);. | pkt|
|0000ee10| 2e 6d 73 67 5f 74 79 70 | 65 20 3d 20 68 74 6f 6e |.msg_typ|e = hton|
|0000ee20| 73 28 56 45 52 53 49 4f | 4e 29 3b 0a 20 20 20 20 |s(VERSIO|N);. |
|0000ee30| 20 20 20 20 20 20 70 6b | 74 2e 6d 73 67 5f 6c 65 | pk|t.msg_le|
|0000ee40| 6e 20 3d 20 68 74 6f 6e | 73 28 4d 49 4e 52 45 46 |n = hton|s(MINREF|
|0000ee50| 50 4b 54 20 2b 20 73 69 | 7a 65 6f 66 28 56 45 52 |PKT + si|zeof(VER|
|0000ee60| 53 49 4f 4e 5f 4e 55 4d | 29 29 3b 0a 20 20 20 20 |SION_NUM|));. |
|0000ee70| 20 20 20 20 20 20 62 63 | 6f 70 79 28 56 45 52 53 | bc|opy(VERS|
|0000ee80| 49 4f 4e 5f 4e 55 4d 2c | 70 6b 74 2e 6d 73 67 5f |ION_NUM,|pkt.msg_|
|0000ee90| 64 61 74 61 2c 73 69 7a | 65 6f 66 28 56 45 52 53 |data,siz|eof(VERS|
|0000eea0| 49 4f 4e 5f 4e 55 4d 29 | 29 3b 0a 0a 20 20 20 20 |ION_NUM)|);.. |
|0000eeb0| 20 20 20 20 20 20 69 66 | 20 28 77 72 69 74 65 28 | if| (write(|
|0000eec0| 6d 73 67 5f 73 6f 63 6b | 2c 26 70 6b 74 2c 6e 74 |msg_sock|,&pkt,nt|
|0000eed0| 6f 68 73 28 70 6b 74 2e | 6d 73 67 5f 6c 65 6e 29 |ohs(pkt.|msg_len)|
|0000eee0| 29 20 3d 3d 20 2d 31 29 | 0a 20 20 20 20 20 20 20 |) == -1)|. |
|0000eef0| 20 20 20 20 20 20 6d 79 | 5f 70 65 72 72 6f 72 28 | my|_perror(|
|0000ef00| 22 77 72 69 74 65 20 76 | 65 72 73 69 6f 6e 20 6e |"write v|ersion n|
|0000ef10| 75 6d 62 65 72 22 29 3b | 0a 0a 20 20 20 20 20 20 |umber");|.. |
|0000ef20| 20 20 20 20 72 65 74 75 | 72 6e 3b 0a 0a 20 20 20 | retu|rn;.. |
|0000ef30| 20 20 20 20 63 61 73 65 | 20 55 50 54 49 4d 45 3a | case| UPTIME:|
|0000ef40| 0a 09 20 20 64 6f 6c 6f | 67 28 22 55 50 54 49 4d |.. dolo|g("UPTIM|
|0000ef50| 45 20 72 65 63 65 69 76 | 65 64 20 6f 6e 20 63 6f |E receiv|ed on co|
|0000ef60| 6e 74 72 6f 6c 20 73 6f | 63 6b 65 74 5c 6e 22 29 |ntrol so|cket\n")|
|0000ef70| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 70 6b 74 2e |;. | pkt.|
|0000ef80| 6d 73 67 5f 74 79 70 65 | 20 3d 20 68 74 6f 6e 73 |msg_type| = htons|
|0000ef90| 28 55 50 54 49 4d 45 29 | 3b 0a 20 20 20 20 20 20 |(UPTIME)|;. |
|0000efa0| 20 20 20 20 70 6b 74 2e | 6d 73 67 5f 6c 65 6e 20 | pkt.|msg_len |
|0000efb0| 3d 20 68 74 6f 6e 73 28 | 4d 49 4e 52 45 46 50 4b |= htons(|MINREFPK|
|0000efc0| 54 20 2b 20 73 74 72 6c | 65 6e 28 73 74 61 72 74 |T + strl|en(start|
|0000efd0| 5f 74 69 6d 65 29 29 3b | 0a 20 20 20 20 20 20 20 |_time));|. |
|0000efe0| 20 20 20 62 63 6f 70 79 | 28 73 74 61 72 74 5f 74 | bcopy|(start_t|
|0000eff0| 69 6d 65 2c 70 6b 74 2e | 6d 73 67 5f 64 61 74 61 |ime,pkt.|msg_data|
|0000f000| 2c 73 74 72 6c 65 6e 28 | 73 74 61 72 74 5f 74 69 |,strlen(|start_ti|
|0000f010| 6d 65 29 29 3b 0a 0a 20 | 20 20 20 20 20 20 20 20 |me));.. | |
|0000f020| 20 69 66 20 28 77 72 69 | 74 65 28 6d 73 67 5f 73 | if (wri|te(msg_s|
|0000f030| 6f 63 6b 2c 26 70 6b 74 | 2c 6e 74 6f 68 73 28 70 |ock,&pkt|,ntohs(p|
|0000f040| 6b 74 2e 6d 73 67 5f 6c | 65 6e 29 29 20 3d 3d 20 |kt.msg_l|en)) == |
|0000f050| 2d 31 29 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |-1). | |
|0000f060| 20 6d 79 5f 70 65 72 72 | 6f 72 28 22 77 72 69 74 | my_perr|or("writ|
|0000f070| 65 20 75 70 74 69 6d 65 | 22 29 3b 0a 0a 20 20 20 |e uptime|");.. |
|0000f080| 20 20 20 20 20 20 20 72 | 65 74 75 72 6e 3b 0a 0a | r|eturn;..|
|0000f090| 20 20 20 20 20 20 20 63 | 61 73 65 20 57 48 4f 3a | c|ase WHO:|
|0000f0a0| 0a 09 20 20 64 6f 6c 6f | 67 28 22 57 48 4f 20 72 |.. dolo|g("WHO r|
|0000f0b0| 65 63 65 69 76 65 64 20 | 6f 6e 20 63 6f 6e 74 72 |eceived |on contr|
|0000f0c0| 6f 6c 20 73 6f 63 6b 65 | 74 5c 6e 22 29 3b 0a 20 |ol socke|t\n");. |
|0000f0d0| 20 20 20 20 20 20 20 20 | 20 77 72 69 74 65 5f 63 | | write_c|
|0000f0e0| 6c 69 65 6e 74 73 28 29 | 3b 0a 09 20 20 72 65 74 |lients()|;.. ret|
|0000f0f0| 75 72 6e 3b 0a 0a 20 20 | 20 20 20 20 20 63 61 73 |urn;.. | cas|
|0000f100| 65 20 4d 41 56 45 4e 3a | 0a 09 20 20 64 6f 6c 6f |e MAVEN:|.. dolo|
|0000f110| 67 28 22 4d 41 56 45 4e | 20 72 65 63 65 69 76 65 |g("MAVEN| receive|
|0000f120| 64 20 6f 6e 20 63 6f 6e | 74 72 6f 6c 20 73 6f 63 |d on con|trol soc|
|0000f130| 6b 65 74 5c 6e 22 29 3b | 0a 20 20 20 20 20 20 20 |ket\n");|. |
|0000f140| 20 20 20 77 72 69 74 65 | 5f 6d 6c 69 65 6e 74 73 | write|_mlients|
|0000f150| 28 29 3b 0a 09 20 20 72 | 65 74 75 72 6e 3b 0a 0a |();.. r|eturn;..|
|0000f160| 20 20 20 20 20 20 20 63 | 61 73 65 20 50 41 52 41 | c|ase PARA|
|0000f170| 4d 3a 0a 09 20 20 64 6f | 6c 6f 67 28 22 50 41 52 |M:.. do|log("PAR|
|0000f180| 41 4d 20 72 65 63 65 69 | 76 65 64 20 6f 6e 20 63 |AM recei|ved on c|
|0000f190| 6f 6e 74 72 6f 6c 20 73 | 6f 63 6b 65 74 5c 6e 22 |ontrol s|ocket\n"|
|0000f1a0| 29 3b 0a 0a 09 20 20 6c | 65 6e 20 3d 20 73 74 72 |);... l|en = str|
|0000f1b0| 6c 65 6e 28 63 6f 6e 66 | 5f 62 75 66 29 3b 0a 0a |len(conf|_buf);..|
|0000f1c0| 20 20 20 20 20 20 20 20 | 20 20 73 70 72 69 6e 74 | | sprint|
|0000f1d0| 66 28 26 63 6f 6e 66 5f | 62 75 66 5b 6c 65 6e 5d |f(&conf_|buf[len]|
|0000f1e0| 2c 22 5c 6e 43 75 72 72 | 65 6e 74 20 63 6f 6e 66 |,"\nCurr|ent conf|
|0000f1f0| 65 72 65 6e 63 65 20 69 | 64 20 25 64 5c 6e 22 2c |erence i|d %d\n",|
|0000f200| 63 6f 6e 66 65 72 65 6e | 63 65 5f 69 64 29 3b 0a |conferen|ce_id);.|
|0000f210| 0a 20 20 20 20 20 20 20 | 20 20 20 70 6b 74 2e 6d |. | pkt.m|
|0000f220| 73 67 5f 74 79 70 65 20 | 3d 20 68 74 6f 6e 73 28 |sg_type |= htons(|
|0000f230| 50 41 52 41 4d 29 3b 0a | 20 20 20 20 20 20 20 20 |PARAM);.| |
|0000f240| 20 20 70 6b 74 2e 6d 73 | 67 5f 6c 65 6e 20 3d 20 | pkt.ms|g_len = |
|0000f250| 68 74 6f 6e 73 28 4d 49 | 4e 52 45 46 50 4b 54 20 |htons(MI|NREFPKT |
|0000f260| 2b 20 73 74 72 6c 65 6e | 28 63 6f 6e 66 5f 62 75 |+ strlen|(conf_bu|
|0000f270| 66 29 29 3b 0a 09 20 20 | 62 70 74 72 20 3d 20 70 |f));.. |bptr = p|
|0000f280| 6b 74 2e 6d 73 67 5f 64 | 61 74 61 3b 0a 09 20 20 |kt.msg_d|ata;.. |
|0000f290| 0a 09 20 20 73 74 72 63 | 70 79 28 62 70 74 72 2c |.. strc|py(bptr,|
|0000f2a0| 63 6f 6e 66 5f 62 75 66 | 29 3b 0a 0a 20 20 20 20 |conf_buf|);.. |
|0000f2b0| 20 20 20 20 20 20 69 66 | 20 28 77 72 69 74 65 28 | if| (write(|
|0000f2c0| 6d 73 67 5f 73 6f 63 6b | 2c 26 70 6b 74 2c 6e 74 |msg_sock|,&pkt,nt|
|0000f2d0| 6f 68 73 28 70 6b 74 2e | 6d 73 67 5f 6c 65 6e 29 |ohs(pkt.|msg_len)|
|0000f2e0| 29 20 3d 3d 20 2d 31 29 | 0a 20 20 20 20 20 20 20 |) == -1)|. |
|0000f2f0| 20 20 20 20 20 20 6d 79 | 5f 70 65 72 72 6f 72 28 | my|_perror(|
|0000f300| 22 63 6f 6e 74 72 6f 6c | 20 77 72 69 74 65 20 20 |"control| write |
|0000f310| 70 61 72 61 6d 22 29 3b | 0a 0a 09 20 20 63 6f 6e |param");|... con|
|0000f320| 66 5f 62 75 66 5b 6c 65 | 6e 5d 20 3d 20 30 3b 0a |f_buf[le|n] = 0;.|
|0000f330| 0a 09 20 20 72 65 74 75 | 72 6e 3b 0a 0a 20 20 20 |.. retu|rn;.. |
|0000f340| 20 20 20 20 64 65 66 61 | 75 6c 74 3a 0a 09 20 20 | defa|ult:.. |
|0000f350| 64 6f 6c 6f 67 28 22 55 | 4e 4b 4e 4f 57 4e 20 74 |dolog("U|NKNOWN t|
|0000f360| 79 70 65 20 72 65 63 65 | 69 76 65 64 20 6f 6e 20 |ype rece|ived on |
|0000f370| 63 6f 6e 74 72 6f 6c 20 | 73 6f 63 6b 65 74 5c 6e |control |socket\n|
|0000f380| 22 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 72 65 |");. | re|
|0000f390| 74 75 72 6e 3b 0a 0a 20 | 20 20 20 7d 0a 7d 0a 0a |turn;.. | }.}..|
|0000f3a0| 77 72 69 74 65 5f 63 6c | 69 65 6e 74 73 28 29 0a |write_cl|ients().|
|0000f3b0| 7b 0a 20 20 20 20 52 65 | 66 43 6f 6e 50 6b 74 20 |{. Re|fConPkt |
|0000f3c0| 20 20 20 20 20 20 20 70 | 6b 74 3b 0a 20 20 20 20 | p|kt;. |
|0000f3d0| 63 6c 69 65 6e 74 20 20 | 20 20 20 20 20 20 20 20 |client | |
|0000f3e0| 20 2a 63 74 6d 70 3b 0a | 20 20 20 20 63 68 61 72 | *ctmp;.| char|
|0000f3f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 62 75 66 | | buf|
|0000f400| 5b 32 35 35 5d 3b 0a 20 | 20 20 20 73 68 6f 72 74 |[255];. | short|
|0000f410| 20 20 20 20 20 20 20 20 | 20 20 20 20 74 6f 74 61 | | tota|
|0000f420| 6c 5f 6c 65 6e 2c 6c 65 | 6e 3b 0a 20 20 20 20 73 |l_len,le|n;. s|
|0000f430| 74 72 75 63 74 20 69 6e | 5f 61 64 64 72 20 20 20 |truct in|_addr |
|0000f440| 69 6e 3b 0a 0a 20 20 20 | 20 70 6b 74 2e 6d 73 67 |in;.. | pkt.msg|
|0000f450| 5f 74 79 70 65 20 3d 20 | 68 74 6f 6e 73 28 57 48 |_type = |htons(WH|
|0000f460| 4f 29 3b 0a 20 20 20 20 | 63 74 6d 70 20 3d 20 63 |O);. |ctmp = c|
|0000f470| 68 65 61 64 3b 0a 0a 20 | 20 20 20 69 66 20 28 63 |head;.. | if (c|
|0000f480| 74 6d 70 20 3d 3d 20 4e | 55 4c 4c 29 0a 20 20 20 |tmp == N|ULL). |
|0000f490| 20 7b 0a 20 20 20 20 20 | 20 20 73 74 72 63 70 79 | {. | strcpy|
|0000f4a0| 28 70 6b 74 2e 6d 73 67 | 5f 64 61 74 61 2c 22 4e |(pkt.msg|_data,"N|
|0000f4b0| 6f 20 43 6c 69 65 6e 74 | 73 22 29 3b 0a 20 20 20 |o Client|s");. |
|0000f4c0| 20 20 20 20 70 6b 74 2e | 6d 73 67 5f 6c 65 6e 20 | pkt.|msg_len |
|0000f4d0| 3d 20 68 74 6f 6e 73 28 | 4d 49 4e 52 45 46 50 4b |= htons(|MINREFPK|
|0000f4e0| 54 20 2b 20 73 74 72 6c | 65 6e 28 22 4e 6f 20 43 |T + strl|en("No C|
|0000f4f0| 6c 69 65 6e 74 73 22 29 | 29 3b 0a 0a 20 20 20 20 |lients")|);.. |
|0000f500| 20 20 20 69 66 20 28 77 | 72 69 74 65 28 6d 73 67 | if (w|rite(msg|
|0000f510| 5f 73 6f 63 6b 2c 26 70 | 6b 74 2c 6e 74 6f 68 73 |_sock,&p|kt,ntohs|
|0000f520| 28 70 6b 74 2e 6d 73 67 | 5f 6c 65 6e 29 29 20 3d |(pkt.msg|_len)) =|
|0000f530| 3d 20 2d 31 29 0a 20 20 | 20 20 20 20 20 20 20 20 |= -1). | |
|0000f540| 6d 79 5f 70 65 72 72 6f | 72 28 22 63 6f 6e 74 72 |my_perro|r("contr|
|0000f550| 6f 6c 20 77 72 69 74 65 | 20 77 72 69 74 65 5f 63 |ol write| write_c|
|0000f560| 6c 69 65 6e 74 73 22 29 | 3b 0a 0a 20 20 20 20 20 |lients")|;.. |
|0000f570| 20 20 72 65 74 75 72 6e | 3b 0a 20 20 20 20 7d 0a | return|;. }.|
|0000f580| 0a 20 20 20 20 74 6f 74 | 61 6c 5f 6c 65 6e 20 3d |. tot|al_len =|
|0000f590| 20 30 3b 0a 20 20 20 20 | 77 68 69 6c 65 20 28 63 | 0;. |while (c|
|0000f5a0| 74 6d 70 20 21 3d 20 4e | 55 4c 4c 29 0a 20 20 20 |tmp != N|ULL). |
|0000f5b0| 20 7b 0a 20 20 20 20 20 | 20 20 69 66 20 28 63 74 | {. | if (ct|
|0000f5c0| 6d 70 2d 3e 63 6c 6e 74 | 5f 66 6c 61 67 73 20 26 |mp->clnt|_flags &|
|0000f5d0| 20 43 4c 49 45 4e 54 29 | 0a 20 20 20 20 20 20 20 | CLIENT)|. |
|0000f5e0| 20 20 20 6c 65 6e 20 3d | 20 73 74 72 6c 65 6e 28 | len =| strlen(|
|0000f5f0| 22 43 4c 49 45 4e 54 3a | 20 22 29 3b 0a 20 20 20 |"CLIENT:| ");. |
|0000f600| 20 20 20 20 65 6c 73 65 | 0a 20 20 20 20 20 20 20 | else|. |
|0000f610| 69 66 20 28 63 74 6d 70 | 2d 3e 63 6c 6e 74 5f 66 |if (ctmp|->clnt_f|
|0000f620| 6c 61 67 73 20 26 20 42 | 43 43 5f 43 4c 49 45 4e |lags & B|CC_CLIEN|
|0000f630| 54 29 0a 20 20 20 20 20 | 20 20 20 20 20 6c 65 6e |T). | len|
|0000f640| 20 3d 20 73 74 72 6c 65 | 6e 28 22 42 43 43 5f 43 | = strle|n("BCC_C|
|0000f650| 4c 49 45 4e 54 3a 20 22 | 29 3b 0a 20 20 20 20 20 |LIENT: "|);. |
|0000f660| 20 20 65 6c 73 65 0a 20 | 20 20 20 20 20 20 69 66 | else. | if|
|0000f670| 20 28 63 74 6d 70 2d 3e | 63 6c 6e 74 5f 66 6c 61 | (ctmp->|clnt_fla|
|0000f680| 67 73 20 26 20 42 43 43 | 5f 53 45 52 56 45 52 29 |gs & BCC|_SERVER)|
|0000f690| 0a 20 20 20 20 20 20 20 | 20 20 20 6c 65 6e 20 3d |. | len =|
|0000f6a0| 20 73 74 72 6c 65 6e 28 | 22 42 43 43 5f 53 45 52 | strlen(|"BCC_SER|
|0000f6b0| 56 45 52 3a 20 22 29 3b | 0a 20 20 20 20 20 20 20 |VER: ");|. |
|0000f6c0| 65 6c 73 65 0a 20 20 20 | 20 20 20 20 69 66 20 28 |else. | if (|
|0000f6d0| 63 74 6d 70 2d 3e 63 6c | 6e 74 5f 66 6c 61 67 73 |ctmp->cl|nt_flags|
|0000f6e0| 20 26 20 42 43 43 5f 4f | 52 49 47 49 4e 29 0a 20 | & BCC_O|RIGIN). |
|0000f6f0| 20 20 20 20 20 20 20 20 | 20 6c 65 6e 20 3d 20 73 | | len = s|
|0000f700| 74 72 6c 65 6e 28 22 42 | 43 43 5f 4f 52 49 47 49 |trlen("B|CC_ORIGI|
|0000f710| 4e 3a 20 22 29 3b 0a 20 | 20 20 20 20 20 20 65 6c |N: ");. | el|
|0000f720| 73 65 0a 20 20 20 20 20 | 20 20 69 66 20 28 63 74 |se. | if (ct|
|0000f730| 6d 70 2d 3e 63 6c 6e 74 | 5f 66 6c 61 67 73 20 26 |mp->clnt|_flags &|
|0000f740| 20 52 45 46 31 5f 43 4c | 49 45 4e 54 29 0a 20 20 | REF1_CL|IENT). |
|0000f750| 20 20 20 20 20 20 20 20 | 6c 65 6e 20 3d 20 73 74 | |len = st|
|0000f760| 72 6c 65 6e 28 22 52 45 | 46 31 5f 43 4c 49 45 4e |rlen("RE|F1_CLIEN|
|0000f770| 54 3a 20 22 29 3b 0a 20 | 20 20 20 20 20 20 65 6c |T: ");. | el|
|0000f780| 73 65 0a 20 20 20 20 20 | 20 20 69 66 20 28 63 74 |se. | if (ct|
|0000f790| 6d 70 2d 3e 63 6c 6e 74 | 5f 66 6c 61 67 73 20 26 |mp->clnt|_flags &|
|0000f7a0| 20 52 45 46 31 5f 53 45 | 52 56 45 52 29 0a 20 20 | REF1_SE|RVER). |
|0000f7b0| 20 20 20 20 20 20 20 20 | 6c 65 6e 20 3d 20 73 74 | |len = st|
|0000f7c0| 72 6c 65 6e 28 22 52 45 | 46 31 5f 53 45 52 56 45 |rlen("RE|F1_SERVE|
|0000f7d0| 52 3a 20 22 29 3b 0a 20 | 20 20 20 20 20 20 65 6c |R: ");. | el|
|0000f7e0| 73 65 0a 20 20 20 20 20 | 20 20 69 66 20 28 63 74 |se. | if (ct|
|0000f7f0| 6d 70 2d 3e 63 6c 6e 74 | 5f 66 6c 61 67 73 20 26 |mp->clnt|_flags &|
|0000f800| 20 52 45 46 31 5f 4f 52 | 49 47 49 4e 29 0a 20 20 | REF1_OR|IGIN). |
|0000f810| 20 20 20 20 20 20 20 20 | 6c 65 6e 20 3d 20 73 74 | |len = st|
|0000f820| 72 6c 65 6e 28 22 52 45 | 46 31 5f 4f 52 49 47 49 |rlen("RE|F1_ORIGI|
|0000f830| 4e 3a 20 22 29 3b 0a 20 | 20 20 20 20 20 20 65 6c |N: ");. | el|
|0000f840| 73 65 0a 20 20 20 20 20 | 20 20 69 66 20 28 63 74 |se. | if (ct|
|0000f850| 6d 70 2d 3e 63 6c 6e 74 | 5f 66 6c 61 67 73 20 26 |mp->clnt|_flags &|
|0000f860| 20 52 45 46 32 5f 53 45 | 52 56 45 52 29 0a 20 20 | REF2_SE|RVER). |
|0000f870| 20 20 20 20 20 20 20 20 | 6c 65 6e 20 3d 20 73 74 | |len = st|
|0000f880| 72 6c 65 6e 28 22 52 45 | 46 32 5f 53 45 52 56 45 |rlen("RE|F2_SERVE|
|0000f890| 52 3a 20 22 29 3b 0a 20 | 20 20 20 20 20 20 65 6c |R: ");. | el|
|0000f8a0| 73 65 0a 20 20 20 20 20 | 20 20 69 66 20 28 63 74 |se. | if (ct|
|0000f8b0| 6d 70 2d 3e 63 6c 6e 74 | 5f 66 6c 61 67 73 20 26 |mp->clnt|_flags &|
|0000f8c0| 20 52 45 46 32 5f 4f 52 | 49 47 49 4e 29 0a 20 20 | REF2_OR|IGIN). |
|0000f8d0| 20 20 20 20 20 20 20 20 | 6c 65 6e 20 3d 20 73 74 | |len = st|
|0000f8e0| 72 6c 65 6e 28 22 52 45 | 46 32 5f 4f 52 49 47 49 |rlen("RE|F2_ORIGI|
|0000f8f0| 4e 3a 20 22 29 3b 0a 20 | 20 20 20 20 20 20 65 6c |N: ");. | el|
|0000f900| 73 65 0a 20 20 20 20 20 | 20 20 69 66 20 28 63 74 |se. | if (ct|
|0000f910| 6d 70 2d 3e 63 6c 6e 74 | 5f 66 6c 61 67 73 20 26 |mp->clnt|_flags &|
|0000f920| 20 52 45 46 33 5f 53 45 | 52 56 45 52 29 0a 20 20 | REF3_SE|RVER). |
|0000f930| 20 20 20 20 20 20 20 20 | 6c 65 6e 20 3d 20 73 74 | |len = st|
|0000f940| 72 6c 65 6e 28 22 52 45 | 46 33 5f 53 45 52 56 45 |rlen("RE|F3_SERVE|
|0000f950| 52 3a 20 22 29 3b 0a 20 | 20 20 20 20 20 20 65 6c |R: ");. | el|
|0000f960| 73 65 0a 20 20 20 20 20 | 20 20 69 66 20 28 63 74 |se. | if (ct|
|0000f970| 6d 70 2d 3e 63 6c 6e 74 | 5f 66 6c 61 67 73 20 26 |mp->clnt|_flags &|
|0000f980| 20 52 45 46 33 5f 4f 52 | 49 47 49 4e 29 0a 20 20 | REF3_OR|IGIN). |
|0000f990| 20 20 20 20 20 20 20 20 | 6c 65 6e 20 3d 20 73 74 | |len = st|
|0000f9a0| 72 6c 65 6e 28 22 52 45 | 46 33 5f 4f 52 49 47 49 |rlen("RE|F3_ORIGI|
|0000f9b0| 4e 3a 20 22 29 3b 0a 20 | 20 20 20 20 20 20 65 6c |N: ");. | el|
|0000f9c0| 73 65 0a 20 20 20 20 20 | 20 20 20 20 20 6c 65 6e |se. | len|
|0000f9d0| 20 3d 20 73 74 72 6c 65 | 6e 28 22 55 4e 4b 4e 4f | = strle|n("UNKNO|
|0000f9e0| 57 4e 3a 20 22 29 3b 0a | 20 0a 20 20 20 20 20 20 |WN: ");.| . |
|0000f9f0| 20 69 66 20 28 73 74 72 | 6c 65 6e 28 63 74 6d 70 | if (str|len(ctmp|
|0000fa00| 2d 3e 63 6c 6e 74 5f 63 | 6f 6e 66 69 67 2e 6e 61 |->clnt_c|onfig.na|
|0000fa10| 6d 65 29 20 3e 3d 20 32 | 30 29 0a 09 20 20 6c 65 |me) >= 2|0).. le|
|0000fa20| 6e 20 2b 3d 20 31 39 3b | 0a 20 20 20 20 20 20 20 |n += 19;|. |
|0000fa30| 65 6c 73 65 0a 20 20 20 | 20 20 20 20 20 20 20 6c |else. | l|
|0000fa40| 65 6e 20 2b 3d 20 73 74 | 72 6c 65 6e 28 63 74 6d |en += st|rlen(ctm|
|0000fa50| 70 2d 3e 63 6c 6e 74 5f | 63 6f 6e 66 69 67 2e 6e |p->clnt_|config.n|
|0000fa60| 61 6d 65 29 3b 0a 0a 20 | 20 20 20 20 20 20 69 6e |ame);.. | in|
|0000fa70| 2e 73 5f 61 64 64 72 20 | 3d 20 63 74 6d 70 2d 3e |.s_addr |= ctmp->|
|0000fa80| 63 6c 6e 74 5f 61 64 64 | 72 2e 61 64 64 72 3b 0a |clnt_add|r.addr;.|
|0000fa90| 20 20 20 20 20 20 20 6c | 65 6e 20 2b 3d 20 73 74 | l|en += st|
|0000faa0| 72 6c 65 6e 28 69 6e 65 | 74 5f 6e 74 6f 61 28 69 |rlen(ine|t_ntoa(i|
|0000fab0| 6e 29 29 3b 0a 20 20 20 | 20 20 20 20 74 6f 74 61 |n));. | tota|
|0000fac0| 6c 5f 6c 65 6e 20 2b 3d | 20 28 6c 65 6e 20 2b 20 |l_len +=| (len + |
|0000fad0| 32 29 3b 0a 0a 20 20 20 | 20 20 20 20 2f 2a 20 73 |2);.. | /* s|
|0000fae0| 61 76 65 20 73 6f 6d 65 | 20 72 6f 6f 6d 20 66 6f |ave some| room fo|
|0000faf0| 72 20 74 68 65 20 61 75 | 64 69 6f 20 61 6e 64 20 |r the au|dio and |
|0000fb00| 76 69 64 65 6f 20 66 6c | 61 67 73 20 6f 75 74 70 |video fl|ags outp|
|0000fb10| 75 74 20 2a 2f 0a 20 20 | 20 20 20 20 20 74 6f 74 |ut */. | tot|
|0000fb20| 61 6c 5f 6c 65 6e 20 2b | 3d 20 34 3b 0a 0a 20 20 |al_len +|= 4;.. |
|0000fb30| 20 20 20 20 20 63 74 6d | 70 20 3d 20 63 74 6d 70 | ctm|p = ctmp|
|0000fb40| 2d 3e 63 6c 6e 74 5f 6e | 70 74 72 3b 0a 20 20 20 |->clnt_n|ptr;. |
|0000fb50| 20 7d 0a 0a 20 20 20 20 | 70 6b 74 2e 6d 73 67 5f | }.. |pkt.msg_|
|0000fb60| 6c 65 6e 20 3d 20 68 74 | 6f 6e 73 28 4d 49 4e 52 |len = ht|ons(MINR|
|0000fb70| 45 46 50 4b 54 20 2b 20 | 74 6f 74 61 6c 5f 6c 65 |EFPKT + |total_le|
|0000fb80| 6e 29 3b 0a 20 20 20 20 | 69 66 20 28 77 72 69 74 |n);. |if (writ|
|0000fb90| 65 28 6d 73 67 5f 73 6f | 63 6b 2c 26 70 6b 74 2c |e(msg_so|ck,&pkt,|
|0000fba0| 4d 49 4e 52 45 46 50 4b | 54 29 20 3d 3d 20 2d 31 |MINREFPK|T) == -1|
|0000fbb0| 29 0a 20 20 20 20 20 20 | 20 6d 79 5f 70 65 72 72 |). | my_perr|
|0000fbc0| 6f 72 28 22 63 6f 6e 74 | 72 6f 6c 20 77 72 69 74 |or("cont|rol writ|
|0000fbd0| 65 20 77 72 69 74 65 5f | 63 6c 69 65 6e 74 73 22 |e write_|clients"|
|0000fbe0| 29 3b 0a 0a 20 20 20 20 | 63 74 6d 70 20 3d 20 63 |);.. |ctmp = c|
|0000fbf0| 68 65 61 64 3b 0a 0a 20 | 20 20 20 77 68 69 6c 65 |head;.. | while|
|0000fc00| 20 28 63 74 6d 70 20 21 | 3d 20 4e 55 4c 4c 29 0a | (ctmp !|= NULL).|
|0000fc10| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 69 66 20 | {. | if |
|0000fc20| 28 63 74 6d 70 2d 3e 63 | 6c 6e 74 5f 66 6c 61 67 |(ctmp->c|lnt_flag|
|0000fc30| 73 20 26 20 43 4c 49 45 | 4e 54 29 0a 20 20 20 20 |s & CLIE|NT). |
|0000fc40| 20 20 20 7b 0a 20 20 20 | 20 20 20 20 20 20 20 6c | {. | l|
|0000fc50| 65 6e 20 3d 20 73 74 72 | 6c 65 6e 28 22 43 4c 49 |en = str|len("CLI|
|0000fc60| 45 4e 54 3a 20 22 29 3b | 0a 20 20 20 20 20 20 20 |ENT: ");|. |
|0000fc70| 20 20 20 62 63 6f 70 79 | 28 22 43 4c 49 45 4e 54 | bcopy|("CLIENT|
|0000fc80| 3a 20 22 2c 62 75 66 2c | 6c 65 6e 29 3b 0a 20 20 |: ",buf,|len);. |
|0000fc90| 20 20 20 20 20 7d 0a 20 | 20 20 20 20 20 20 65 6c | }. | el|
|0000fca0| 73 65 0a 20 20 20 20 20 | 20 20 69 66 20 28 63 74 |se. | if (ct|
|0000fcb0| 6d 70 2d 3e 63 6c 6e 74 | 5f 66 6c 61 67 73 20 26 |mp->clnt|_flags &|
|0000fcc0| 20 42 43 43 5f 43 4c 49 | 45 4e 54 29 0a 20 20 20 | BCC_CLI|ENT). |
|0000fcd0| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|0000fce0| 6c 65 6e 20 3d 20 73 74 | 72 6c 65 6e 28 22 42 43 |len = st|rlen("BC|
|0000fcf0| 43 5f 43 4c 49 45 4e 54 | 3a 20 22 29 3b 0a 20 20 |C_CLIENT|: ");. |
|0000fd00| 20 20 20 20 20 20 20 20 | 62 63 6f 70 79 28 22 42 | |bcopy("B|
|0000fd10| 43 43 5f 43 4c 49 45 4e | 54 3a 20 22 2c 62 75 66 |CC_CLIEN|T: ",buf|
|0000fd20| 2c 6c 65 6e 29 3b 0a 20 | 20 20 20 20 20 20 7d 0a |,len);. | }.|
|0000fd30| 20 20 20 20 20 20 20 65 | 6c 73 65 0a 20 20 20 20 | e|lse. |
|0000fd40| 20 20 20 69 66 20 28 63 | 74 6d 70 2d 3e 63 6c 6e | if (c|tmp->cln|
|0000fd50| 74 5f 66 6c 61 67 73 20 | 26 20 42 43 43 5f 53 45 |t_flags |& BCC_SE|
|0000fd60| 52 56 45 52 29 0a 20 20 | 20 20 20 20 20 7b 0a 20 |RVER). | {. |
|0000fd70| 20 20 20 20 20 20 20 20 | 20 6c 65 6e 20 3d 20 73 | | len = s|
|0000fd80| 74 72 6c 65 6e 28 22 42 | 43 43 5f 53 45 52 56 45 |trlen("B|CC_SERVE|
|0000fd90| 52 3a 20 22 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |R: ");. | |
|0000fda0| 20 62 63 6f 70 79 28 22 | 42 43 43 5f 53 45 52 56 | bcopy("|BCC_SERV|
|0000fdb0| 45 52 3a 20 22 2c 62 75 | 66 2c 6c 65 6e 29 3b 0a |ER: ",bu|f,len);.|
|0000fdc0| 20 20 20 20 20 20 20 7d | 0a 20 20 20 20 20 20 20 | }|. |
|0000fdd0| 65 6c 73 65 0a 20 20 20 | 20 20 20 20 69 66 20 28 |else. | if (|
|0000fde0| 63 74 6d 70 2d 3e 63 6c | 6e 74 5f 66 6c 61 67 73 |ctmp->cl|nt_flags|
|0000fdf0| 20 26 20 42 43 43 5f 4f | 52 49 47 49 4e 29 0a 20 | & BCC_O|RIGIN). |
|0000fe00| 20 20 20 20 20 20 7b 0a | 20 20 20 20 20 20 20 20 | {.| |
|0000fe10| 20 20 6c 65 6e 20 3d 20 | 73 74 72 6c 65 6e 28 22 | len = |strlen("|
|0000fe20| 42 43 43 5f 4f 52 49 47 | 49 4e 3a 20 22 29 3b 0a |BCC_ORIG|IN: ");.|
|0000fe30| 20 20 20 20 20 20 20 20 | 20 20 62 63 6f 70 79 28 | | bcopy(|
|0000fe40| 22 42 43 43 5f 4f 52 49 | 47 49 4e 3a 20 22 2c 62 |"BCC_ORI|GIN: ",b|
|0000fe50| 75 66 2c 6c 65 6e 29 3b | 0a 20 20 20 20 20 20 20 |uf,len);|. |
|0000fe60| 7d 0a 20 20 20 20 20 20 | 20 65 6c 73 65 0a 20 20 |}. | else. |
|0000fe70| 20 20 20 20 20 69 66 20 | 28 63 74 6d 70 2d 3e 63 | if |(ctmp->c|
|0000fe80| 6c 6e 74 5f 66 6c 61 67 | 73 20 26 20 52 45 46 31 |lnt_flag|s & REF1|
|0000fe90| 5f 43 4c 49 45 4e 54 29 | 0a 20 20 20 20 20 20 20 |_CLIENT)|. |
|0000fea0| 7b 0a 20 20 20 20 20 20 | 20 20 20 20 6c 65 6e 20 |{. | len |
|0000feb0| 3d 20 73 74 72 6c 65 6e | 28 22 52 45 46 31 5f 43 |= strlen|("REF1_C|
|0000fec0| 4c 49 45 4e 54 3a 20 22 | 29 3b 0a 20 20 20 20 20 |LIENT: "|);. |
|0000fed0| 20 20 20 20 20 62 63 6f | 70 79 28 22 52 45 46 31 | bco|py("REF1|
|0000fee0| 5f 43 4c 49 45 4e 54 3a | 20 22 2c 62 75 66 2c 6c |_CLIENT:| ",buf,l|
|0000fef0| 65 6e 29 3b 0a 20 20 20 | 20 20 20 20 7d 0a 20 20 |en);. | }. |
|0000ff00| 20 20 20 20 20 65 6c 73 | 65 0a 20 20 20 20 20 20 | els|e. |
|0000ff10| 20 69 66 20 28 63 74 6d | 70 2d 3e 63 6c 6e 74 5f | if (ctm|p->clnt_|
|0000ff20| 66 6c 61 67 73 20 26 20 | 52 45 46 31 5f 53 45 52 |flags & |REF1_SER|
|0000ff30| 56 45 52 29 0a 20 20 20 | 20 20 20 20 7b 0a 20 20 |VER). | {. |
|0000ff40| 20 20 20 20 20 20 20 20 | 6c 65 6e 20 3d 20 73 74 | |len = st|
|0000ff50| 72 6c 65 6e 28 22 52 45 | 46 31 5f 53 45 52 56 45 |rlen("RE|F1_SERVE|
|0000ff60| 52 3a 20 22 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |R: ");. | |
|0000ff70| 20 62 63 6f 70 79 28 22 | 52 45 46 31 5f 53 45 52 | bcopy("|REF1_SER|
|0000ff80| 56 45 52 3a 20 22 2c 62 | 75 66 2c 6c 65 6e 29 3b |VER: ",b|uf,len);|
|0000ff90| 0a 20 20 20 20 20 20 20 | 7d 0a 20 20 20 20 20 20 |. |}. |
|0000ffa0| 20 65 6c 73 65 0a 20 20 | 20 20 20 20 20 69 66 20 | else. | if |
|0000ffb0| 28 63 74 6d 70 2d 3e 63 | 6c 6e 74 5f 66 6c 61 67 |(ctmp->c|lnt_flag|
|0000ffc0| 73 20 26 20 52 45 46 31 | 5f 4f 52 49 47 49 4e 29 |s & REF1|_ORIGIN)|
|0000ffd0| 0a 20 20 20 20 20 20 20 | 7b 0a 20 20 20 20 20 20 |. |{. |
|0000ffe0| 20 20 20 20 6c 65 6e 20 | 3d 20 73 74 72 6c 65 6e | len |= strlen|
|0000fff0| 28 22 52 45 46 31 5f 4f | 52 49 47 49 4e 3a 20 22 |("REF1_O|RIGIN: "|
|00010000| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 62 63 6f |);. | bco|
|00010010| 70 79 28 22 52 45 46 31 | 5f 4f 52 49 47 49 4e 3a |py("REF1|_ORIGIN:|
|00010020| 20 22 2c 62 75 66 2c 6c | 65 6e 29 3b 0a 20 20 20 | ",buf,l|en);. |
|00010030| 20 20 20 20 7d 0a 20 20 | 20 20 20 20 20 65 6c 73 | }. | els|
|00010040| 65 0a 20 20 20 20 20 20 | 20 69 66 20 28 63 74 6d |e. | if (ctm|
|00010050| 70 2d 3e 63 6c 6e 74 5f | 66 6c 61 67 73 20 26 20 |p->clnt_|flags & |
|00010060| 52 45 46 32 5f 53 45 52 | 56 45 52 29 0a 20 20 20 |REF2_SER|VER). |
|00010070| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00010080| 6c 65 6e 20 3d 20 73 74 | 72 6c 65 6e 28 22 52 45 |len = st|rlen("RE|
|00010090| 46 32 5f 53 45 52 56 45 | 52 3a 20 22 29 3b 0a 20 |F2_SERVE|R: ");. |
|000100a0| 20 20 20 20 20 20 20 20 | 20 62 63 6f 70 79 28 22 | | bcopy("|
|000100b0| 52 45 46 32 5f 53 45 52 | 56 45 52 3a 20 22 2c 62 |REF2_SER|VER: ",b|
|000100c0| 75 66 2c 6c 65 6e 29 3b | 0a 20 20 20 20 20 20 20 |uf,len);|. |
|000100d0| 7d 0a 20 20 20 20 20 20 | 20 65 6c 73 65 0a 20 20 |}. | else. |
|000100e0| 20 20 20 20 20 69 66 20 | 28 63 74 6d 70 2d 3e 63 | if |(ctmp->c|
|000100f0| 6c 6e 74 5f 66 6c 61 67 | 73 20 26 20 52 45 46 32 |lnt_flag|s & REF2|
|00010100| 5f 4f 52 49 47 49 4e 29 | 0a 20 20 20 20 20 20 20 |_ORIGIN)|. |
|00010110| 7b 0a 20 20 20 20 20 20 | 20 20 20 20 6c 65 6e 20 |{. | len |
|00010120| 3d 20 73 74 72 6c 65 6e | 28 22 52 45 46 32 5f 4f |= strlen|("REF2_O|
|00010130| 52 49 47 49 4e 3a 20 22 | 29 3b 0a 20 20 20 20 20 |RIGIN: "|);. |
|00010140| 20 20 20 20 20 62 63 6f | 70 79 28 22 52 45 46 32 | bco|py("REF2|
|00010150| 5f 4f 52 49 47 49 4e 3a | 20 22 2c 62 75 66 2c 6c |_ORIGIN:| ",buf,l|
|00010160| 65 6e 29 3b 0a 20 20 20 | 20 20 20 20 7d 0a 20 20 |en);. | }. |
|00010170| 20 20 20 20 20 65 6c 73 | 65 0a 20 20 20 20 20 20 | els|e. |
|00010180| 20 69 66 20 28 63 74 6d | 70 2d 3e 63 6c 6e 74 5f | if (ctm|p->clnt_|
|00010190| 66 6c 61 67 73 20 26 20 | 52 45 46 33 5f 53 45 52 |flags & |REF3_SER|
|000101a0| 56 45 52 29 0a 20 20 20 | 20 20 20 20 7b 0a 20 20 |VER). | {. |
|000101b0| 20 20 20 20 20 20 20 20 | 6c 65 6e 20 3d 20 73 74 | |len = st|
|000101c0| 72 6c 65 6e 28 22 52 45 | 46 33 5f 53 45 52 56 45 |rlen("RE|F3_SERVE|
|000101d0| 52 3a 20 22 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |R: ");. | |
|000101e0| 20 62 63 6f 70 79 28 22 | 52 45 46 33 5f 53 45 52 | bcopy("|REF3_SER|
|000101f0| 56 45 52 3a 20 22 2c 62 | 75 66 2c 6c 65 6e 29 3b |VER: ",b|uf,len);|
|00010200| 0a 20 20 20 20 20 20 20 | 7d 0a 20 20 20 20 20 20 |. |}. |
|00010210| 20 65 6c 73 65 0a 20 20 | 20 20 20 20 20 69 66 20 | else. | if |
|00010220| 28 63 74 6d 70 2d 3e 63 | 6c 6e 74 5f 66 6c 61 67 |(ctmp->c|lnt_flag|
|00010230| 73 20 26 20 52 45 46 33 | 5f 4f 52 49 47 49 4e 29 |s & REF3|_ORIGIN)|
|00010240| 0a 20 20 20 20 20 20 20 | 7b 0a 20 20 20 20 20 20 |. |{. |
|00010250| 20 20 20 20 6c 65 6e 20 | 3d 20 73 74 72 6c 65 6e | len |= strlen|
|00010260| 28 22 52 45 46 33 5f 4f | 52 49 47 49 4e 3a 20 22 |("REF3_O|RIGIN: "|
|00010270| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 62 63 6f |);. | bco|
|00010280| 70 79 28 22 52 45 46 33 | 5f 4f 52 49 47 49 4e 3a |py("REF3|_ORIGIN:|
|00010290| 20 22 2c 62 75 66 2c 6c | 65 6e 29 3b 0a 20 20 20 | ",buf,l|en);. |
|000102a0| 20 20 20 20 7d 0a 20 20 | 20 20 20 20 20 65 6c 73 | }. | els|
|000102b0| 65 0a 20 20 20 20 20 20 | 20 7b 0a 20 20 20 20 20 |e. | {. |
|000102c0| 20 20 20 20 20 6c 65 6e | 20 3d 20 73 74 72 6c 65 | len| = strle|
|000102d0| 6e 28 22 55 4e 4b 4e 4f | 57 4e 3a 20 22 29 3b 0a |n("UNKNO|WN: ");.|
|000102e0| 20 20 20 20 20 20 20 20 | 20 20 62 63 6f 70 79 28 | | bcopy(|
|000102f0| 22 55 4e 4b 4e 4f 57 4e | 3a 20 22 2c 62 75 66 2c |"UNKNOWN|: ",buf,|
|00010300| 6c 65 6e 29 3b 0a 20 20 | 20 20 20 20 20 7d 0a 20 |len);. | }. |
|00010310| 0a 20 20 20 20 20 20 20 | 69 66 20 28 73 74 72 6c |. |if (strl|
|00010320| 65 6e 28 63 74 6d 70 2d | 3e 63 6c 6e 74 5f 63 6f |en(ctmp-|>clnt_co|
|00010330| 6e 66 69 67 2e 6e 61 6d | 65 29 20 3e 3d 20 32 30 |nfig.nam|e) >= 20|
|00010340| 29 0a 20 20 20 20 20 20 | 20 7b 0a 20 20 20 20 20 |). | {. |
|00010350| 20 20 20 20 20 62 63 6f | 70 79 28 63 74 6d 70 2d | bco|py(ctmp-|
|00010360| 3e 63 6c 6e 74 5f 63 6f | 6e 66 69 67 2e 6e 61 6d |>clnt_co|nfig.nam|
|00010370| 65 2c 26 62 75 66 5b 6c | 65 6e 5d 2c 31 39 29 3b |e,&buf[l|en],19);|
|00010380| 0a 20 20 20 20 20 20 20 | 20 20 20 6c 65 6e 20 2b |. | len +|
|00010390| 3d 20 31 39 3b 0a 20 20 | 20 20 20 20 20 7d 0a 20 |= 19;. | }. |
|000103a0| 20 20 20 20 20 20 65 6c | 73 65 0a 20 20 20 20 20 | el|se. |
|000103b0| 20 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 62 63 | {. | bc|
|000103c0| 6f 70 79 28 63 74 6d 70 | 2d 3e 63 6c 6e 74 5f 63 |opy(ctmp|->clnt_c|
|000103d0| 6f 6e 66 69 67 2e 6e 61 | 6d 65 2c 26 62 75 66 5b |onfig.na|me,&buf[|
|000103e0| 6c 65 6e 5d 2c 73 74 72 | 6c 65 6e 28 63 74 6d 70 |len],str|len(ctmp|
|000103f0| 2d 3e 63 6c 6e 74 5f 63 | 6f 6e 66 69 67 2e 6e 61 |->clnt_c|onfig.na|
|00010400| 6d 65 29 29 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |me));. | |
|00010410| 6c 65 6e 20 2b 3d 20 73 | 74 72 6c 65 6e 28 63 74 |len += s|trlen(ct|
|00010420| 6d 70 2d 3e 63 6c 6e 74 | 5f 63 6f 6e 66 69 67 2e |mp->clnt|_config.|
|00010430| 6e 61 6d 65 29 3b 0a 20 | 20 20 20 20 20 20 7d 0a |name);. | }.|
|00010440| 0a 20 20 20 20 20 20 20 | 62 75 66 5b 6c 65 6e 5d |. |buf[len]|
|00010450| 20 3d 20 27 40 27 3b 0a | 20 20 20 20 20 20 20 74 | = '@';.| t|
|00010460| 6f 74 61 6c 5f 6c 65 6e | 20 3d 20 6c 65 6e 3b 0a |otal_len| = len;.|
|00010470| 0a 20 20 20 20 20 20 20 | 69 6e 2e 73 5f 61 64 64 |. |in.s_add|
|00010480| 72 20 3d 20 63 74 6d 70 | 2d 3e 63 6c 6e 74 5f 61 |r = ctmp|->clnt_a|
|00010490| 64 64 72 2e 61 64 64 72 | 3b 0a 20 20 20 20 20 20 |ddr.addr|;. |
|000104a0| 20 6c 65 6e 20 3d 20 73 | 74 72 6c 65 6e 28 69 6e | len = s|trlen(in|
|000104b0| 65 74 5f 6e 74 6f 61 28 | 69 6e 29 29 3b 0a 20 20 |et_ntoa(|in));. |
|000104c0| 20 20 20 20 20 62 63 6f | 70 79 28 69 6e 65 74 5f | bco|py(inet_|
|000104d0| 6e 74 6f 61 28 69 6e 29 | 2c 26 62 75 66 5b 74 6f |ntoa(in)|,&buf[to|
|000104e0| 74 61 6c 5f 6c 65 6e 2b | 31 5d 2c 6c 65 6e 29 3b |tal_len+|1],len);|
|000104f0| 0a 20 20 20 20 20 20 20 | 74 6f 74 61 6c 5f 6c 65 |. |total_le|
|00010500| 6e 20 2b 3d 20 6c 65 6e | 3b 0a 0a 20 20 20 20 20 |n += len|;.. |
|00010510| 20 20 62 75 66 5b 2b 2b | 74 6f 74 61 6c 5f 6c 65 | buf[++|total_le|
|00010520| 6e 5d 20 3d 20 27 20 27 | 3b 0a 0a 20 20 20 20 20 |n] = ' '|;.. |
|00010530| 20 20 69 66 20 28 63 74 | 6d 70 2d 3e 63 6c 6e 74 | if (ct|mp->clnt|
|00010540| 5f 63 6f 6e 66 69 67 2e | 66 6c 61 67 73 20 26 20 |_config.|flags & |
|00010550| 41 55 44 49 4f 5f 43 41 | 50 41 42 4c 45 29 0a 20 |AUDIO_CA|PABLE). |
|00010560| 20 20 20 20 20 20 20 20 | 20 62 75 66 5b 2b 2b 74 | | buf[++t|
|00010570| 6f 74 61 6c 5f 6c 65 6e | 5d 20 3d 20 27 43 27 3b |otal_len|] = 'C';|
|00010580| 0a 20 20 20 20 20 20 20 | 65 6c 73 65 0a 20 20 20 |. |else. |
|00010590| 20 20 20 20 20 20 20 62 | 75 66 5b 2b 2b 74 6f 74 | b|uf[++tot|
|000105a0| 61 6c 5f 6c 65 6e 5d 20 | 3d 20 27 20 27 3b 0a 0a |al_len] |= ' ';..|
|000105b0| 20 20 20 20 20 20 20 69 | 66 20 28 63 74 6d 70 2d | i|f (ctmp-|
|000105c0| 3e 63 6c 6e 74 5f 63 6f | 6e 66 69 67 2e 66 6c 61 |>clnt_co|nfig.fla|
|000105d0| 67 73 20 26 20 52 45 43 | 5f 41 55 44 49 4f 29 0a |gs & REC|_AUDIO).|
|000105e0| 20 20 20 20 20 20 20 20 | 20 20 62 75 66 5b 2b 2b | | buf[++|
|000105f0| 74 6f 74 61 6c 5f 6c 65 | 6e 5d 20 3d 20 27 52 27 |total_le|n] = 'R'|
|00010600| 3b 0a 20 20 20 20 20 20 | 20 65 6c 73 65 0a 20 20 |;. | else. |
|00010610| 20 20 20 20 20 20 20 20 | 62 75 66 5b 2b 2b 74 6f | |buf[++to|
|00010620| 74 61 6c 5f 6c 65 6e 5d | 20 3d 20 27 20 27 3b 0a |tal_len]| = ' ';.|
|00010630| 0a 20 20 20 20 20 20 20 | 69 66 20 28 63 74 6d 70 |. |if (ctmp|
|00010640| 2d 3e 63 6c 6e 74 5f 63 | 6f 6e 66 69 67 2e 73 65 |->clnt_c|onfig.se|
|00010650| 6e 64 4d 6f 64 65 29 0a | 20 20 20 20 20 20 20 20 |ndMode).| |
|00010660| 20 20 62 75 66 5b 2b 2b | 74 6f 74 61 6c 5f 6c 65 | buf[++|total_le|
|00010670| 6e 5d 20 3d 20 27 56 27 | 3b 0a 20 20 20 20 20 20 |n] = 'V'|;. |
|00010680| 20 65 6c 73 65 0a 20 20 | 20 20 20 20 20 20 20 20 | else. | |
|00010690| 62 75 66 5b 2b 2b 74 6f | 74 61 6c 5f 6c 65 6e 5d |buf[++to|tal_len]|
|000106a0| 20 3d 20 27 20 27 3b 0a | 0a 0a 20 20 20 20 20 20 | = ' ';.|.. |
|000106b0| 20 62 75 66 5b 2b 2b 74 | 6f 74 61 6c 5f 6c 65 6e | buf[++t|otal_len|
|000106c0| 5d 20 3d 20 27 5c 6e 27 | 3b 0a 0a 20 20 20 20 20 |] = '\n'|;.. |
|000106d0| 20 20 74 6f 74 61 6c 5f | 6c 65 6e 2b 2b 3b 0a 0a | total_|len++;..|
|000106e0| 0a 20 20 20 20 20 20 20 | 69 66 20 28 77 72 69 74 |. |if (writ|
|000106f0| 65 28 6d 73 67 5f 73 6f | 63 6b 2c 62 75 66 2c 74 |e(msg_so|ck,buf,t|
|00010700| 6f 74 61 6c 5f 6c 65 6e | 29 20 21 3d 20 74 6f 74 |otal_len|) != tot|
|00010710| 61 6c 5f 6c 65 6e 29 0a | 20 20 20 20 20 20 20 20 |al_len).| |
|00010720| 20 20 6d 79 5f 70 65 72 | 72 6f 72 28 22 63 6f 6e | my_per|ror("con|
|00010730| 74 72 6f 6c 20 77 72 69 | 74 65 20 77 72 69 74 65 |trol wri|te write|
|00010740| 5f 63 6c 69 65 6e 74 73 | 22 29 3b 0a 0a 20 20 20 |_clients|");.. |
|00010750| 20 20 20 20 63 74 6d 70 | 20 3d 20 63 74 6d 70 2d | ctmp| = ctmp-|
|00010760| 3e 63 6c 6e 74 5f 6e 70 | 74 72 3b 0a 20 20 20 20 |>clnt_np|tr;. |
|00010770| 7d 0a 0a 20 20 20 20 72 | 65 74 75 72 6e 3b 0a 7d |}.. r|eturn;.}|
|00010780| 0a 0a 77 72 69 74 65 5f | 6d 6c 69 65 6e 74 73 28 |..write_|mlients(|
|00010790| 29 0a 7b 0a 20 20 20 20 | 52 65 66 43 6f 6e 50 6b |).{. |RefConPk|
|000107a0| 74 20 20 20 20 20 20 20 | 20 70 6b 74 3b 0a 20 20 |t | pkt;. |
|000107b0| 20 20 6d 61 76 65 6e 5f | 63 6c 69 65 6e 74 20 20 | maven_|client |
|000107c0| 20 20 20 2a 63 74 6d 70 | 3b 0a 20 20 20 20 63 68 | *ctmp|;. ch|
|000107d0| 61 72 20 20 20 20 20 20 | 20 20 20 20 20 20 20 62 |ar | b|
|000107e0| 75 66 5b 32 35 35 5d 3b | 0a 20 20 20 20 73 68 6f |uf[255];|. sho|
|000107f0| 72 74 20 20 20 20 20 20 | 20 20 20 20 20 20 74 6f |rt | to|
|00010800| 74 61 6c 5f 6c 65 6e 2c | 6c 65 6e 3b 0a 20 20 20 |tal_len,|len;. |
|00010810| 20 73 74 72 75 63 74 20 | 69 6e 5f 61 64 64 72 20 | struct |in_addr |
|00010820| 20 20 69 6e 3b 0a 0a 20 | 20 20 20 70 6b 74 2e 6d | in;.. | pkt.m|
|00010830| 73 67 5f 74 79 70 65 20 | 3d 20 68 74 6f 6e 73 28 |sg_type |= htons(|
|00010840| 4d 41 56 45 4e 29 3b 0a | 20 20 20 20 63 74 6d 70 |MAVEN);.| ctmp|
|00010850| 20 3d 20 6d 68 65 61 64 | 3b 0a 0a 20 20 20 20 69 | = mhead|;.. i|
|00010860| 66 20 28 63 74 6d 70 20 | 3d 3d 20 4e 55 4c 4c 29 |f (ctmp |== NULL)|
|00010870| 0a 20 20 20 20 7b 0a 20 | 20 20 20 20 20 20 73 74 |. {. | st|
|00010880| 72 63 70 79 28 70 6b 74 | 2e 6d 73 67 5f 64 61 74 |rcpy(pkt|.msg_dat|
|00010890| 61 2c 22 4e 6f 20 4d 61 | 76 65 6e 20 43 6c 69 65 |a,"No Ma|ven Clie|
|000108a0| 6e 74 73 22 29 3b 0a 20 | 20 20 20 20 20 20 70 6b |nts");. | pk|
|000108b0| 74 2e 6d 73 67 5f 6c 65 | 6e 20 3d 20 68 74 6f 6e |t.msg_le|n = hton|
|000108c0| 73 28 4d 49 4e 52 45 46 | 50 4b 54 20 2b 20 73 74 |s(MINREF|PKT + st|
|000108d0| 72 6c 65 6e 28 22 4e 6f | 20 4d 61 76 65 6e 20 43 |rlen("No| Maven C|
|000108e0| 6c 69 65 6e 74 73 22 29 | 29 3b 0a 0a 20 20 20 20 |lients")|);.. |
|000108f0| 20 20 20 69 66 20 28 77 | 72 69 74 65 28 6d 73 67 | if (w|rite(msg|
|00010900| 5f 73 6f 63 6b 2c 26 70 | 6b 74 2c 6e 74 6f 68 73 |_sock,&p|kt,ntohs|
|00010910| 28 70 6b 74 2e 6d 73 67 | 5f 6c 65 6e 29 29 20 3d |(pkt.msg|_len)) =|
|00010920| 3d 20 2d 31 29 0a 20 20 | 20 20 20 20 20 20 20 20 |= -1). | |
|00010930| 6d 79 5f 70 65 72 72 6f | 72 28 22 63 6f 6e 74 72 |my_perro|r("contr|
|00010940| 6f 6c 20 77 72 69 74 65 | 20 77 72 69 74 65 5f 6d |ol write| write_m|
|00010950| 6c 69 65 6e 74 73 22 29 | 3b 0a 0a 20 20 20 20 20 |lients")|;.. |
|00010960| 20 20 72 65 74 75 72 6e | 3b 0a 20 20 20 20 7d 0a | return|;. }.|
|00010970| 0a 20 20 20 20 74 6f 74 | 61 6c 5f 6c 65 6e 20 3d |. tot|al_len =|
|00010980| 20 30 3b 0a 20 20 20 20 | 77 68 69 6c 65 20 28 63 | 0;. |while (c|
|00010990| 74 6d 70 20 21 3d 20 4e | 55 4c 4c 29 0a 20 20 20 |tmp != N|ULL). |
|000109a0| 20 7b 0a 20 20 20 20 20 | 20 20 69 6e 2e 73 5f 61 | {. | in.s_a|
|000109b0| 64 64 72 20 3d 20 20 63 | 74 6d 70 2d 3e 6d 76 6e |ddr = c|tmp->mvn|
|000109c0| 5f 61 64 64 72 2e 61 64 | 64 72 3b 0a 20 20 20 20 |_addr.ad|dr;. |
|000109d0| 20 20 20 6c 65 6e 20 3d | 20 73 74 72 6c 65 6e 28 | len =| strlen(|
|000109e0| 69 6e 65 74 5f 6e 74 6f | 61 28 69 6e 29 29 3b 0a |inet_nto|a(in));.|
|000109f0| 20 20 20 20 20 20 20 74 | 6f 74 61 6c 5f 6c 65 6e | t|otal_len|
|00010a00| 20 2b 3d 20 28 6c 65 6e | 20 2b 20 31 29 3b 0a 20 | += (len| + 1);. |
|00010a10| 20 20 20 20 20 20 63 74 | 6d 70 20 3d 20 63 74 6d | ct|mp = ctm|
|00010a20| 70 2d 3e 6d 76 6e 5f 6e | 70 74 72 3b 0a 20 20 20 |p->mvn_n|ptr;. |
|00010a30| 20 7d 0a 0a 20 20 20 20 | 70 6b 74 2e 6d 73 67 5f | }.. |pkt.msg_|
|00010a40| 6c 65 6e 20 3d 20 68 74 | 6f 6e 73 28 4d 49 4e 52 |len = ht|ons(MINR|
|00010a50| 45 46 50 4b 54 20 2b 20 | 74 6f 74 61 6c 5f 6c 65 |EFPKT + |total_le|
|00010a60| 6e 29 3b 0a 20 20 20 20 | 69 66 20 28 77 72 69 74 |n);. |if (writ|
|00010a70| 65 28 6d 73 67 5f 73 6f | 63 6b 2c 26 70 6b 74 2c |e(msg_so|ck,&pkt,|
|00010a80| 4d 49 4e 52 45 46 50 4b | 54 29 20 3d 3d 20 2d 31 |MINREFPK|T) == -1|
|00010a90| 29 0a 20 20 20 20 20 20 | 20 6d 79 5f 70 65 72 72 |). | my_perr|
|00010aa0| 6f 72 28 22 63 6f 6e 74 | 72 6f 6c 20 77 72 69 74 |or("cont|rol writ|
|00010ab0| 65 20 77 72 69 74 65 5f | 6d 6c 69 65 6e 74 73 22 |e write_|mlients"|
|00010ac0| 29 3b 0a 0a 20 20 20 20 | 63 74 6d 70 20 3d 20 6d |);.. |ctmp = m|
|00010ad0| 68 65 61 64 3b 0a 0a 20 | 20 20 20 77 68 69 6c 65 |head;.. | while|
|00010ae0| 20 28 63 74 6d 70 20 21 | 3d 20 4e 55 4c 4c 29 0a | (ctmp !|= NULL).|
|00010af0| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 69 6e 2e | {. | in.|
|00010b00| 73 5f 61 64 64 72 20 3d | 20 63 74 6d 70 2d 3e 6d |s_addr =| ctmp->m|
|00010b10| 76 6e 5f 61 64 64 72 2e | 61 64 64 72 3b 0a 20 20 |vn_addr.|addr;. |
|00010b20| 20 20 20 20 20 6c 65 6e | 20 3d 20 73 74 72 6c 65 | len| = strle|
|00010b30| 6e 28 69 6e 65 74 5f 6e | 74 6f 61 28 69 6e 29 29 |n(inet_n|toa(in))|
|00010b40| 3b 0a 20 20 20 20 20 20 | 20 62 63 6f 70 79 28 69 |;. | bcopy(i|
|00010b50| 6e 65 74 5f 6e 74 6f 61 | 28 69 6e 29 2c 62 75 66 |net_ntoa|(in),buf|
|00010b60| 2c 6c 65 6e 29 3b 0a 20 | 20 20 20 20 20 20 62 75 |,len);. | bu|
|00010b70| 66 5b 6c 65 6e 5d 20 3d | 20 27 5c 6e 27 3b 0a 0a |f[len] =| '\n';..|
|00010b80| 20 20 20 20 20 20 20 69 | 66 20 28 77 72 69 74 65 | i|f (write|
|00010b90| 28 6d 73 67 5f 73 6f 63 | 6b 2c 62 75 66 2c 6c 65 |(msg_soc|k,buf,le|
|00010ba0| 6e 2b 31 29 20 21 3d 20 | 6c 65 6e 2b 31 29 0a 20 |n+1) != |len+1). |
|00010bb0| 20 20 20 20 20 20 20 20 | 20 6d 79 5f 70 65 72 72 | | my_perr|
|00010bc0| 6f 72 28 22 63 6f 6e 74 | 72 6f 6c 20 77 72 69 74 |or("cont|rol writ|
|00010bd0| 65 20 77 72 69 74 65 5f | 6d 6c 69 65 6e 74 73 22 |e write_|mlients"|
|00010be0| 29 3b 0a 0a 20 20 20 20 | 20 20 20 63 74 6d 70 20 |);.. | ctmp |
|00010bf0| 3d 20 63 74 6d 70 2d 3e | 6d 76 6e 5f 6e 70 74 72 |= ctmp->|mvn_nptr|
|00010c00| 3b 0a 20 20 20 20 7d 0a | 7d 0a 0a 09 09 69 66 20 |;. }.|}....if |
|00010c10| 28 28 74 79 70 65 20 3d | 3d 20 43 4c 49 45 4e 54 |((type =|= CLIENT|
|00010c20| 29 20 26 26 20 28 63 6f | 6e 66 65 72 65 6e 63 65 |) && (co|nference|
|00010c30| 5f 69 64 20 21 3d 20 30 | 29 29 0a 09 09 20 20 20 |_id != 0|))... |
|00010c40| 69 66 20 28 6e 74 6f 68 | 73 28 76 69 64 70 74 72 |if (ntoh|s(vidptr|
|00010c50| 2d 3e 63 6f 6e 66 65 72 | 65 6e 63 65 69 64 29 20 |->confer|enceid) |
|00010c60| 21 3d 20 63 6f 6e 66 65 | 72 65 6e 63 65 5f 69 64 |!= confe|rence_id|
|00010c70| 29 0a 09 09 20 20 20 7b | 0a 09 09 20 20 20 20 20 |)... {|... |
|00010c80| 20 64 6f 6c 6f 67 28 22 | 63 6f 6e 66 65 72 65 6e | dolog("|conferen|
|00010c90| 63 65 20 69 64 73 20 64 | 6f 20 6e 6f 74 20 6d 61 |ce ids d|o not ma|
|00010ca0| 74 63 68 20 25 64 20 25 | 64 5c 6e 22 2c 6e 74 6f |tch %d %|d\n",nto|
|00010cb0| 68 73 28 76 69 64 70 74 | 72 2d 3e 63 6f 6e 66 65 |hs(vidpt|r->confe|
|00010cc0| 72 65 6e 63 65 69 64 29 | 2c 63 6f 6e 66 65 72 65 |renceid)|,confere|
|00010cd0| 6e 63 65 5f 69 64 29 3b | 0a 09 09 20 20 20 20 20 |nce_id);|... |
|00010ce0| 20 63 6c 6e 74 5f 61 64 | 64 72 2e 73 69 6e 5f 66 | clnt_ad|dr.sin_f|
|00010cf0| 61 6d 69 6c 79 20 3d 20 | 41 46 5f 49 4e 45 54 3b |amily = |AF_INET;|
|00010d00| 0a 09 09 20 20 20 20 20 | 20 63 6c 6e 74 5f 61 64 |... | clnt_ad|
|00010d10| 64 72 2e 73 69 6e 5f 70 | 6f 72 74 20 3d 20 68 74 |dr.sin_p|ort = ht|
|00010d20| 6f 6e 73 28 56 49 44 5f | 50 4f 52 54 29 3b 0a 09 |ons(VID_|PORT);..|
|00010d30| 09 20 20 20 20 20 20 62 | 63 6f 70 79 28 26 76 69 |. b|copy(&vi|
|00010d40| 64 70 74 72 2d 3e 72 6f | 75 74 69 6e 67 2e 73 72 |dptr->ro|uting.sr|
|00010d50| 63 2e 61 64 64 72 2c 26 | 63 6c 6e 74 5f 61 64 64 |c.addr,&|clnt_add|
|00010d60| 72 2e 73 69 6e 5f 61 64 | 64 72 2c 34 29 3b 0a 20 |r.sin_ad|dr,4);. |
|00010d70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00010d80| 20 20 20 20 20 77 72 69 | 74 65 5f 6d 73 67 28 26 | wri|te_msg(&|
|00010d90| 63 6c 6e 74 5f 61 64 64 | 72 2c 6b 4d 65 73 73 61 |clnt_add|r,kMessa|
|00010da0| 67 65 54 79 70 65 31 2c | 63 69 5f 62 75 66 29 3b |geType1,|ci_buf);|
|00010db0| 0a 09 09 20 20 20 20 20 | 20 62 72 65 61 6b 3b 0a |... | break;.|
|00010dc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00010dd0| 20 20 20 7d 0a 0a 20 20 | 20 20 20 20 20 20 20 20 | }.. | |
|00010de0| 20 20 20 20 20 20 63 70 | 74 72 20 3d 20 28 75 6e | cp|tr = (un|
|00010df0| 73 69 67 6e 65 64 20 63 | 68 61 72 20 2a 29 20 28 |signed c|har *) (|
|00010e00| 32 2e 33 30 62 31 2f 75 | 74 69 6c 2e 63 00 00 00 |2.30b1/u|til.c...|
|00010e10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010e20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010e30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010e40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010e50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010e60| 00 00 00 00 31 30 30 36 | 34 34 20 00 30 30 30 30 |....1006|44 .0000|
|00010e70| 30 36 20 00 30 30 30 30 | 30 30 20 00 30 30 30 30 |06 .0000|00 .0000|
|00010e80| 30 31 31 31 32 31 34 20 | 30 35 36 31 30 32 35 35 |0111214 |05610255|
|00010e90| 35 33 37 20 30 31 33 33 | 33 37 00 20 30 00 00 00 |537 0133|37. 0...|
|00010ea0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010eb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010ec0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010ed0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010ee0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010ef0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010f00| 00 75 73 74 61 72 00 30 | 30 6c 79 6e 6e 00 00 00 |.ustar.0|0lynn...|
|00010f10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010f20| 00 00 00 00 00 00 00 00 | 00 73 79 73 74 65 6d 00 |........|.system.|
|00010f30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010f40| 00 00 00 00 00 00 00 00 | 00 30 30 30 30 30 30 20 |........|.000000 |
|00010f50| 00 30 30 30 30 30 30 20 | 00 00 00 00 00 00 00 00 |.000000 |........|
|00010f60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010f70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010f80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010f90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010fa0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010fb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010fc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010fd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010fe0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00010ff0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00011000| 2f 2a 0a 0a 43 6f 70 79 | 72 69 67 68 74 20 31 39 |/*..Copy|right 19|
|00011010| 39 33 2c 20 31 39 39 34 | 2c 20 43 6f 72 6e 65 6c |93, 1994|, Cornel|
|00011020| 6c 20 55 6e 69 76 65 72 | 73 69 74 79 0a 0a 43 6f |l Univer|sity..Co|
|00011030| 72 6e 65 6c 6c 20 68 65 | 72 65 62 79 20 67 72 61 |rnell he|reby gra|
|00011040| 6e 74 73 20 70 65 72 6d | 69 73 73 69 6f 6e 20 74 |nts perm|ission t|
|00011050| 6f 20 75 73 65 2c 20 63 | 6f 70 79 2c 20 6d 6f 64 |o use, c|opy, mod|
|00011060| 69 66 79 2c 20 61 6e 64 | 20 64 69 73 74 72 69 62 |ify, and| distrib|
|00011070| 75 74 65 20 74 68 69 73 | 20 70 72 6f 67 72 61 6d |ute this| program|
|00011080| 20 66 6f 72 20 61 6e 79 | 20 70 75 72 70 6f 73 65 | for any| purpose|
|00011090| 20 0a 61 6e 64 20 77 69 | 74 68 6f 75 74 20 66 65 | .and wi|thout fe|
|000110a0| 65 2c 20 70 72 6f 76 69 | 64 65 64 20 74 68 61 74 |e, provi|ded that|
|000110b0| 20 74 68 65 73 65 20 63 | 6f 70 79 72 69 67 68 74 | these c|opyright|
|000110c0| 20 61 6e 64 20 70 65 72 | 6d 69 73 73 69 6f 6e 20 | and per|mission |
|000110d0| 6e 6f 74 69 63 65 73 20 | 61 70 70 65 61 72 20 6f |notices |appear o|
|000110e0| 6e 20 61 6c 6c 20 63 6f | 70 69 65 73 20 61 6e 64 |n all co|pies and|
|000110f0| 20 0a 73 75 70 70 6f 72 | 74 69 6e 67 20 64 6f 63 | .suppor|ting doc|
|00011100| 75 6d 65 6e 74 61 74 69 | 6f 6e 2c 20 74 68 65 20 |umentati|on, the |
|00011110| 6e 61 6d 65 20 6f 66 20 | 43 6f 72 6e 65 6c 6c 20 |name of |Cornell |
|00011120| 6e 6f 74 20 62 65 20 75 | 73 65 64 20 69 6e 20 61 |not be u|sed in a|
|00011130| 64 76 65 72 74 69 73 69 | 6e 67 20 6f 72 20 70 75 |dvertisi|ng or pu|
|00011140| 62 6c 69 63 69 74 79 20 | 70 65 72 74 61 69 6e 69 |blicity |pertaini|
|00011150| 6e 67 20 0a 74 6f 20 64 | 69 73 74 72 69 62 75 74 |ng .to d|istribut|
|00011160| 69 6f 6e 20 6f 66 20 74 | 68 65 20 70 72 6f 67 72 |ion of t|he progr|
|00011170| 61 6d 20 77 69 74 68 6f | 75 74 20 73 70 65 63 69 |am witho|ut speci|
|00011180| 66 69 63 20 70 72 69 6f | 72 20 70 65 72 6d 69 73 |fic prio|r permis|
|00011190| 73 69 6f 6e 2c 20 6e 6f | 74 69 63 65 20 62 65 20 |sion, no|tice be |
|000111a0| 67 69 76 65 6e 20 69 6e | 20 73 75 70 70 6f 72 74 |given in| support|
|000111b0| 69 6e 67 20 0a 64 6f 63 | 75 6d 65 6e 74 61 74 69 |ing .doc|umentati|
|000111c0| 6f 6e 20 74 68 61 74 20 | 63 6f 70 79 69 6e 67 20 |on that |copying |
|000111d0| 61 6e 64 20 64 69 73 74 | 72 69 62 75 74 69 6f 6e |and dist|ribution|
|000111e0| 20 69 73 20 62 79 20 70 | 65 72 6d 69 73 73 69 6f | is by p|ermissio|
|000111f0| 6e 20 6f 66 20 43 6f 72 | 6e 65 6c 6c 2e 20 20 43 |n of Cor|nell. C|
|00011200| 4f 52 4e 45 4c 4c 20 4d | 41 4b 45 53 20 4e 4f 20 |ORNELL M|AKES NO |
|00011210| 0a 52 45 50 52 45 53 45 | 4e 54 41 54 49 4f 4e 53 |.REPRESE|NTATIONS|
|00011220| 20 4f 52 20 57 41 52 52 | 41 4e 54 45 45 53 2c 20 | OR WARR|ANTEES, |
|00011230| 45 58 50 52 45 53 53 20 | 4f 52 20 49 4d 50 4c 49 |EXPRESS |OR IMPLI|
|00011240| 45 44 2e 20 20 42 79 20 | 77 61 79 20 6f 66 20 65 |ED. By |way of e|
|00011250| 78 61 6d 70 6c 65 2c 20 | 62 75 74 20 6e 6f 74 20 |xample, |but not |
|00011260| 6c 69 6d 69 74 61 74 69 | 6f 6e 2c 20 0a 43 4f 52 |limitati|on, .COR|
|00011270| 4e 45 4c 4c 20 4d 41 4b | 45 53 20 4e 4f 20 52 45 |NELL MAK|ES NO RE|
|00011280| 50 52 45 53 45 4e 54 41 | 54 49 4f 4e 53 20 4f 52 |PRESENTA|TIONS OR|
|00011290| 20 57 41 52 52 41 4e 54 | 49 45 53 20 4f 46 20 4d | WARRANT|IES OF M|
|000112a0| 45 52 43 48 41 4e 54 41 | 42 49 4c 49 54 59 20 4f |ERCHANTA|BILITY O|
|000112b0| 52 20 46 49 54 4e 45 53 | 53 20 46 4f 52 20 41 4e |R FITNES|S FOR AN|
|000112c0| 59 20 50 41 52 54 49 43 | 55 4c 41 52 20 0a 50 55 |Y PARTIC|ULAR .PU|
|000112d0| 52 50 4f 53 45 20 4f 52 | 20 54 48 41 54 20 54 48 |RPOSE OR| THAT TH|
|000112e0| 45 20 55 53 45 20 4f 46 | 20 54 48 49 53 20 53 4f |E USE OF| THIS SO|
|000112f0| 46 54 57 41 52 45 20 4f | 52 20 44 4f 43 55 4d 45 |FTWARE O|R DOCUME|
|00011300| 4e 54 41 54 49 4f 4e 20 | 57 49 4c 4c 20 4e 4f 54 |NTATION |WILL NOT|
|00011310| 20 49 4e 46 52 49 4e 47 | 45 20 41 4e 59 20 50 41 | INFRING|E ANY PA|
|00011320| 54 45 4e 54 53 2c 20 43 | 4f 50 59 52 49 47 48 54 |TENTS, C|OPYRIGHT|
|00011330| 53 2c 20 0a 54 52 41 44 | 45 4d 41 52 4b 53 2c 20 |S, .TRAD|EMARKS, |
|00011340| 4f 52 20 4f 54 48 45 52 | 20 52 49 47 48 54 53 2e |OR OTHER| RIGHTS.|
|00011350| 20 20 43 6f 72 6e 65 6c | 6c 20 73 68 61 6c 6c 20 | Cornel|l shall |
|00011360| 6e 6f 74 20 62 65 20 68 | 65 6c 64 20 6c 69 61 62 |not be h|eld liab|
|00011370| 6c 65 20 66 6f 72 20 61 | 6e 79 20 6c 69 61 62 69 |le for a|ny liabi|
|00011380| 6c 69 74 79 20 77 69 74 | 68 20 72 65 73 70 65 63 |lity wit|h respec|
|00011390| 74 20 74 6f 20 0a 61 6e | 79 20 63 6c 61 69 6d 20 |t to .an|y claim |
|000113a0| 62 79 20 74 68 65 20 75 | 73 65 72 20 6f 72 20 61 |by the u|ser or a|
|000113b0| 6e 79 20 6f 74 68 65 72 | 20 70 61 72 74 79 20 61 |ny other| party a|
|000113c0| 72 69 73 69 6e 67 20 66 | 72 6f 6d 20 75 73 65 20 |rising f|rom use |
|000113d0| 6f 66 20 74 68 65 20 70 | 72 6f 67 72 61 6d 2e 0a |of the p|rogram..|
|000113e0| 0a 54 68 69 73 20 6d 61 | 74 65 72 69 61 6c 20 69 |.This ma|terial i|
|000113f0| 73 20 70 61 72 74 69 61 | 6c 6c 79 20 62 61 73 65 |s partia|lly base|
|00011400| 64 20 6f 6e 20 77 6f 72 | 6b 20 73 70 6f 6e 73 6f |d on wor|k sponso|
|00011410| 72 65 64 20 62 79 20 74 | 68 65 20 4e 61 74 69 6f |red by t|he Natio|
|00011420| 6e 61 6c 20 53 63 69 65 | 6e 63 65 20 46 6f 75 6e |nal Scie|nce Foun|
|00011430| 64 61 74 69 6f 6e 20 75 | 6e 64 65 72 20 43 6f 6f |dation u|nder Coo|
|00011440| 70 65 72 61 74 69 76 65 | 20 0a 41 67 72 65 65 6d |perative| .Agreem|
|00011450| 65 6e 74 20 4e 6f 2e 20 | 4e 43 52 2d 39 33 31 38 |ent No. |NCR-9318|
|00011460| 33 33 37 2e 20 20 54 68 | 65 20 67 6f 76 65 72 6e |337. Th|e govern|
|00011470| 6d 65 6e 74 20 68 61 73 | 20 63 65 72 74 61 69 6e |ment has| certain|
|00011480| 20 72 69 67 68 74 73 20 | 69 6e 20 74 68 69 73 20 | rights |in this |
|00011490| 6d 61 74 65 72 69 61 6c | 2e 0a 0a 2a 2f 0a 0a 0a |material|...*/...|
|000114a0| 0a 23 69 6e 63 6c 75 64 | 65 20 3c 73 74 64 69 6f |.#includ|e <stdio|
|000114b0| 2e 68 3e 0a 23 69 6e 63 | 6c 75 64 65 20 3c 76 61 |.h>.#inc|lude <va|
|000114c0| 72 61 72 67 73 2e 68 3e | 0a 23 69 6e 63 6c 75 64 |rargs.h>|.#includ|
|000114d0| 65 20 3c 73 69 67 6e 61 | 6c 2e 68 3e 0a 23 69 6e |e <signa|l.h>.#in|
|000114e0| 63 6c 75 64 65 20 3c 65 | 72 72 6e 6f 2e 68 3e 0a |clude <e|rrno.h>.|
|000114f0| 23 69 6e 63 6c 75 64 65 | 20 3c 6d 61 6c 6c 6f 63 |#include| <malloc|
|00011500| 2e 68 3e 0a 23 69 6e 63 | 6c 75 64 65 20 3c 73 79 |.h>.#inc|lude <sy|
|00011510| 73 2f 74 79 70 65 73 2e | 68 3e 0a 23 69 6e 63 6c |s/types.|h>.#incl|
|00011520| 75 64 65 20 3c 73 79 73 | 2f 70 61 72 61 6d 2e 68 |ude <sys|/param.h|
|00011530| 3e 0a 23 69 6e 63 6c 75 | 64 65 20 3c 73 79 73 2f |>.#inclu|de <sys/|
|00011540| 69 6f 63 74 6c 2e 68 3e | 0a 23 69 6e 63 6c 75 64 |ioctl.h>|.#includ|
|00011550| 65 20 3c 73 79 73 2f 73 | 6f 63 6b 65 74 2e 68 3e |e <sys/s|ocket.h>|
|00011560| 0a 23 69 6e 63 6c 75 64 | 65 20 3c 73 79 73 2f 73 |.#includ|e <sys/s|
|00011570| 6f 63 6b 65 74 76 61 72 | 2e 68 3e 0a 23 69 6e 63 |ocketvar|.h>.#inc|
|00011580| 6c 75 64 65 20 3c 73 79 | 73 2f 74 69 6d 65 2e 68 |lude <sy|s/time.h|
|00011590| 3e 0a 23 69 6e 63 6c 75 | 64 65 20 3c 6e 65 74 2f |>.#inclu|de <net/|
|000115a0| 72 6f 75 74 65 2e 68 3e | 0a 23 69 6e 63 6c 75 64 |route.h>|.#includ|
|000115b0| 65 20 3c 6e 65 74 2f 69 | 66 2e 68 3e 0a 23 69 6e |e <net/i|f.h>.#in|
|000115c0| 63 6c 75 64 65 20 3c 6e | 65 74 69 6e 65 74 2f 69 |clude <n|etinet/i|
|000115d0| 6e 2e 68 3e 0a 0a 23 69 | 6e 63 6c 75 64 65 20 22 |n.h>..#i|nclude "|
|000115e0| 72 65 66 6c 65 63 74 2e | 68 22 0a 23 69 6e 63 6c |reflect.|h".#incl|
|000115f0| 75 64 65 20 22 72 65 66 | 6d 6f 6e 2e 68 22 0a 0a |ude "ref|mon.h"..|
|00011600| 23 69 66 64 65 66 20 44 | 45 42 55 47 0a 65 78 74 |#ifdef D|EBUG.ext|
|00011610| 65 72 6e 20 73 68 6f 72 | 74 20 64 65 62 75 67 3b |ern shor|t debug;|
|00011620| 0a 23 65 6e 64 69 66 0a | 0a 76 6f 69 64 20 20 20 |.#endif.|.void |
|00011630| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 6d 79 5f | | my_|
|00011640| 70 65 72 72 6f 72 28 29 | 3b 0a 73 68 6f 72 74 20 |perror()|;.short |
|00011650| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 67 65 | | ge|
|00011660| 74 5f 63 6c 69 65 6e 74 | 5f 69 64 28 29 3b 0a 65 |t_client|_id();.e|
|00011670| 78 74 65 72 6e 20 20 20 | 20 20 20 20 20 20 20 20 |xtern | |
|00011680| 20 20 20 63 68 61 72 20 | 2a 63 74 69 6d 65 28 29 | char |*ctime()|
|00011690| 3b 0a 0a 65 78 74 65 72 | 6e 20 69 6e 74 20 76 69 |;..exter|n int vi|
|000116a0| 64 5f 73 6f 63 6b 3b 0a | 65 78 74 65 72 6e 20 69 |d_sock;.|extern i|
|000116b0| 6e 74 20 6d 61 76 65 6e | 5f 70 6f 72 74 3b 0a 65 |nt maven|_port;.e|
|000116c0| 78 74 65 72 6e 20 69 6e | 74 20 6d 61 76 65 6e 5f |xtern in|t maven_|
|000116d0| 73 6f 63 6b 3b 0a 65 78 | 74 65 72 6e 20 69 6e 74 |sock;.ex|tern int|
|000116e0| 20 6d 61 76 65 6e 5f 63 | 6e 74 6c 5f 73 6f 63 6b | maven_c|ntl_sock|
|000116f0| 3b 0a 0a 65 78 74 65 72 | 6e 20 63 6c 69 65 6e 74 |;..exter|n client|
|00011700| 20 2a 63 68 65 61 64 3b | 0a 65 78 74 65 72 6e 20 | *chead;|.extern |
|00011710| 6d 61 76 65 6e 5f 63 6c | 69 65 6e 74 20 2a 6d 68 |maven_cl|ient *mh|
|00011720| 65 61 64 3b 0a 65 78 74 | 65 72 6e 20 73 68 6f 72 |ead;.ext|ern shor|
|00011730| 74 20 73 65 6c 66 5f 72 | 65 66 6c 65 63 74 3b 0a |t self_r|eflect;.|
|00011740| 65 78 74 65 72 6e 20 73 | 74 72 75 63 74 20 73 6f |extern s|truct so|
|00011750| 63 6b 61 64 64 72 5f 69 | 6e 20 6d 79 61 64 64 72 |ckaddr_i|n myaddr|
|00011760| 3b 20 0a 0a 65 78 74 65 | 72 6e 20 75 6e 73 69 67 |; ..exte|rn unsig|
|00011770| 6e 65 64 20 6c 6f 6e 67 | 20 72 65 73 74 72 69 63 |ned long| restric|
|00011780| 74 5f 6c 69 73 74 5b 5d | 3b 0a 65 78 74 65 72 6e |t_list[]|;.extern|
|00011790| 20 73 68 6f 72 74 20 72 | 65 73 74 72 69 63 74 5f | short r|estrict_|
|000117a0| 63 6e 74 3b 20 20 20 20 | 20 20 20 20 20 20 0a 0a |cnt; | ..|
|000117b0| 65 78 74 65 72 6e 20 75 | 6e 73 69 67 6e 65 64 20 |extern u|nsigned |
|000117c0| 6c 6f 6e 67 20 64 65 6e | 79 5f 6c 69 73 74 5b 5d |long den|y_list[]|
|000117d0| 3b 0a 65 78 74 65 72 6e | 20 73 68 6f 72 74 20 64 |;.extern| short d|
|000117e0| 65 6e 79 5f 63 6e 74 3b | 0a 0a 65 78 74 65 72 6e |eny_cnt;|..extern|
|000117f0| 20 69 6e 74 20 6c 6f 67 | 5f 6c 69 6d 69 74 3b 0a | int log|_limit;.|
|00011800| 0a 65 78 74 65 72 6e 20 | 75 6e 73 69 67 6e 65 64 |.extern |unsigned|
|00011810| 20 6c 6f 6e 67 20 62 63 | 63 5f 73 65 72 76 65 72 | long bc|c_server|
|00011820| 5f 6c 69 73 74 5b 5d 3b | 20 20 20 20 20 0a 65 78 |_list[];| .ex|
|00011830| 74 65 72 6e 20 73 68 6f | 72 74 20 62 63 63 5f 73 |tern sho|rt bcc_s|
|00011840| 72 76 5f 63 6e 74 3b 20 | 20 20 20 20 20 20 20 20 |rv_cnt; | |
|00011850| 20 20 20 20 20 20 20 20 | 20 0a 0a 65 78 74 65 72 | | ..exter|
|00011860| 6e 20 75 6e 73 69 67 6e | 65 64 20 6c 6f 6e 67 20 |n unsign|ed long |
|00011870| 62 63 63 5f 63 6c 69 65 | 6e 74 5f 6c 69 73 74 5b |bcc_clie|nt_list[|
|00011880| 5d 3b 20 20 20 0a 65 78 | 74 65 72 6e 20 73 68 6f |]; .ex|tern sho|
|00011890| 72 74 20 62 63 63 5f 63 | 6c 74 5f 63 6e 74 3b 20 |rt bcc_c|lt_cnt; |
|000118a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 0a | | .|
|000118b0| 0a 65 78 74 65 72 6e 20 | 75 6e 73 69 67 6e 65 64 |.extern |unsigned|
|000118c0| 20 6c 6f 6e 67 20 72 65 | 66 5f 75 63 61 73 74 5f | long re|f_ucast_|
|000118d0| 6c 69 73 74 5b 5d 3b 20 | 0a 65 78 74 65 72 6e 20 |list[]; |.extern |
|000118e0| 73 68 6f 72 74 20 72 65 | 66 5f 75 63 61 73 74 5f |short re|f_ucast_|
|000118f0| 63 6e 74 3b 20 20 20 20 | 20 0a 0a 65 78 74 65 72 |cnt; | ..exter|
|00011900| 6e 20 69 6e 74 20 6d 61 | 78 61 6c 6c 6f 77 65 64 |n int ma|xallowed|
|00011910| 3b 0a 0a 65 78 74 65 72 | 6e 20 63 68 61 72 20 6d |;..exter|n char m|
|00011920| 6f 74 64 5f 62 75 66 5b | 5d 3b 0a 65 78 74 65 72 |otd_buf[|];.exter|
|00011930| 6e 20 73 68 6f 72 74 20 | 6d 6f 74 64 5f 6c 65 6e |n short |motd_len|
|00011940| 3b 0a 0a 65 78 74 65 72 | 6e 20 63 68 61 72 20 6d |;..exter|n char m|
|00011950| 70 5f 62 75 66 5b 5d 3b | 0a 0a 65 78 74 65 72 6e |p_buf[];|..extern|
|00011960| 20 73 68 6f 72 74 20 6c | 6f 63 61 6c 5f 73 65 6e | short l|ocal_sen|
|00011970| 64 65 72 73 3b 0a 0a 23 | 69 66 64 65 66 20 4d 55 |ders;..#|ifdef MU|
|00011980| 4c 54 49 0a 65 78 74 65 | 72 6e 20 73 74 72 75 63 |LTI.exte|rn struc|
|00011990| 74 20 73 6f 63 6b 61 64 | 64 72 5f 69 6e 20 6e 76 |t sockad|dr_in nv|
|000119a0| 5f 6d 63 61 73 74 3b 20 | 20 20 20 20 20 20 20 20 |_mcast; | |
|000119b0| 20 20 20 20 20 20 0a 65 | 78 74 65 72 6e 20 69 6e | .e|xtern in|
|000119c0| 74 20 6e 76 5f 6d 63 61 | 73 74 5f 73 6f 63 6b 3b |t nv_mca|st_sock;|
|000119d0| 0a 0a 65 78 74 65 72 6e | 20 73 74 72 75 63 74 20 |..extern| struct |
|000119e0| 73 6f 63 6b 61 64 64 72 | 5f 69 6e 20 72 66 6f 75 |sockaddr|_in rfou|
|000119f0| 74 5f 6d 63 61 73 74 3b | 20 20 20 20 20 20 20 20 |t_mcast;| |
|00011a00| 20 20 20 20 20 0a 65 78 | 74 65 72 6e 20 69 6e 74 | .ex|tern int|
|00011a10| 20 72 66 6f 75 74 5f 6d | 63 61 73 74 5f 73 6f 63 | rfout_m|cast_soc|
|00011a20| 6b 3b 0a 0a 65 78 74 65 | 72 6e 20 73 74 72 75 63 |k;..exte|rn struc|
|00011a30| 74 20 73 6f 63 6b 61 64 | 64 72 5f 69 6e 20 72 66 |t sockad|dr_in rf|
|00011a40| 69 6e 5f 6d 63 61 73 74 | 3b 20 20 20 20 20 20 20 |in_mcast|; |
|00011a50| 20 20 20 20 20 20 20 20 | 0a 65 78 74 65 72 6e 20 | |.extern |
|00011a60| 69 6e 74 20 72 66 69 6e | 5f 6d 63 61 73 74 5f 73 |int rfin|_mcast_s|
|00011a70| 6f 63 6b 3b 0a 0a 65 78 | 74 65 72 6e 20 73 74 72 |ock;..ex|tern str|
|00011a80| 75 63 74 20 73 6f 63 6b | 61 64 64 72 5f 69 6e 20 |uct sock|addr_in |
|00011a90| 69 6e 6f 75 74 5f 6d 63 | 61 73 74 3b 20 20 20 20 |inout_mc|ast; |
|00011aa0| 20 20 20 20 20 20 20 20 | 20 20 20 0a 65 78 74 65 | | .exte|
|00011ab0| 72 6e 20 69 6e 74 20 69 | 6e 6f 75 74 5f 6d 63 61 |rn int i|nout_mca|
|00011ac0| 73 74 5f 73 6f 63 6b 3b | 0a 0a 23 65 6e 64 69 66 |st_sock;|..#endif|
|00011ad0| 0a 0a 75 6e 73 69 67 6e | 65 64 20 73 68 6f 72 74 |..unsign|ed short|
|00011ae0| 20 63 6c 69 65 6e 74 5f | 63 6e 74 3b 0a 0a 65 78 | client_|cnt;..ex|
|00011af0| 74 65 72 6e 20 75 6e 73 | 69 67 6e 65 64 20 73 68 |tern uns|igned sh|
|00011b00| 6f 72 74 20 62 63 63 5f | 63 6c 69 65 6e 74 5f 63 |ort bcc_|client_c|
|00011b10| 6e 74 3b 0a 65 78 74 65 | 72 6e 20 75 6e 73 69 67 |nt;.exte|rn unsig|
|00011b20| 6e 65 64 20 73 68 6f 72 | 74 20 62 63 63 5f 6f 72 |ned shor|t bcc_or|
|00011b30| 69 67 69 6e 5f 63 6e 74 | 3b 0a 65 78 74 65 72 6e |igin_cnt|;.extern|
|00011b40| 20 75 6e 73 69 67 6e 65 | 64 20 73 68 6f 72 74 20 | unsigne|d short |
|00011b50| 62 63 63 5f 73 65 72 76 | 65 72 5f 63 6e 74 3b 0a |bcc_serv|er_cnt;.|
|00011b60| 0a 65 78 74 65 72 6e 20 | 75 6e 73 69 67 6e 65 64 |.extern |unsigned|
|00011b70| 20 73 68 6f 72 74 20 72 | 65 66 31 5f 73 65 72 76 | short r|ef1_serv|
|00011b80| 65 72 5f 63 6e 74 3b 0a | 65 78 74 65 72 6e 20 75 |er_cnt;.|extern u|
|00011b90| 6e 73 69 67 6e 65 64 20 | 73 68 6f 72 74 20 72 65 |nsigned |short re|
|00011ba0| 66 31 5f 6f 72 69 67 69 | 6e 5f 63 6e 74 3b 0a 65 |f1_origi|n_cnt;.e|
|00011bb0| 78 74 65 72 6e 20 75 6e | 73 69 67 6e 65 64 20 73 |xtern un|signed s|
|00011bc0| 68 6f 72 74 20 72 65 66 | 31 5f 63 6c 69 65 6e 74 |hort ref|1_client|
|00011bd0| 5f 63 6e 74 3b 0a 0a 65 | 78 74 65 72 6e 20 75 6e |_cnt;..e|xtern un|
|00011be0| 73 69 67 6e 65 64 20 73 | 68 6f 72 74 20 72 65 66 |signed s|hort ref|
|00011bf0| 32 5f 73 65 72 76 65 72 | 5f 63 6e 74 3b 0a 65 78 |2_server|_cnt;.ex|
|00011c00| 74 65 72 6e 20 75 6e 73 | 69 67 6e 65 64 20 73 68 |tern uns|igned sh|
|00011c10| 6f 72 74 20 72 65 66 32 | 5f 6f 72 69 67 69 6e 5f |ort ref2|_origin_|
|00011c20| 63 6e 74 3b 0a 0a 65 78 | 74 65 72 6e 20 75 6e 73 |cnt;..ex|tern uns|
|00011c30| 69 67 6e 65 64 20 73 68 | 6f 72 74 20 72 65 66 33 |igned sh|ort ref3|
|00011c40| 5f 73 65 72 76 65 72 5f | 63 6e 74 3b 0a 65 78 74 |_server_|cnt;.ext|
|00011c50| 65 72 6e 20 75 6e 73 69 | 67 6e 65 64 20 73 68 6f |ern unsi|gned sho|
|00011c60| 72 74 20 72 65 66 33 5f | 6f 72 69 67 69 6e 5f 63 |rt ref3_|origin_c|
|00011c70| 6e 74 3b 0a 0a 0a 65 78 | 74 65 72 6e 20 63 68 61 |nt;...ex|tern cha|
|00011c80| 72 20 2a 74 72 61 63 65 | 66 69 6c 65 3b 20 20 20 |r *trace|file; |
|00011c90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00011ca0| 20 20 20 20 20 20 20 20 | 20 20 20 0a 0a 65 78 74 | | ..ext|
|00011cb0| 65 72 6e 20 46 49 4c 45 | 20 2a 6c 6f 67 5f 66 69 |ern FILE| *log_fi|
|00011cc0| 6c 65 3b 0a 0a 23 64 65 | 66 69 6e 65 20 4d 41 58 |le;..#de|fine MAX|
|00011cd0| 49 46 20 32 30 20 20 20 | 20 20 20 20 20 2f 2a 20 |IF 20 | /* |
|00011ce0| 4d 61 78 69 6d 75 6d 20 | 6e 75 6d 62 65 72 20 6f |Maximum |number o|
|00011cf0| 66 20 69 6e 74 65 72 66 | 61 63 65 73 20 65 78 70 |f interf|aces exp|
|00011d00| 65 63 74 65 64 20 20 20 | 20 20 20 20 20 2a 2f 0a |ected | */.|
|00011d10| 0a 23 69 66 20 20 20 20 | 20 42 53 44 20 3e 20 34 |.#if | BSD > 4|
|00011d20| 33 0a 23 64 65 66 69 6e | 65 20 73 6f 63 6b 73 69 |3.#defin|e socksi|
|00011d30| 7a 65 28 78 29 20 20 20 | 20 20 28 28 73 74 72 75 |ze(x) | ((stru|
|00011d40| 63 74 20 73 6f 63 6b 61 | 64 64 72 20 2a 29 78 29 |ct socka|ddr *)x)|
|00011d50| 2d 3e 73 61 5f 6c 65 6e | 0a 23 65 6c 73 65 0a 23 |->sa_len|.#else.#|
|00011d60| 64 65 66 69 6e 65 20 73 | 6f 63 6b 73 69 7a 65 28 |define s|ocksize(|
|00011d70| 78 29 20 20 20 20 20 73 | 69 7a 65 6f 66 20 2a 28 |x) s|izeof *(|
|00011d80| 78 29 0a 23 65 6e 64 69 | 66 0a 0a 73 6c 69 73 74 |x).#endi|f..slist|
|00011d90| 20 2a 75 6e 6c 69 6e 6b | 5f 73 6c 69 73 74 28 29 | *unlink|_slist()|
|00011da0| 3b 0a 63 6c 69 65 6e 74 | 20 2a 75 6e 6c 69 6e 6b |;.client| *unlink|
|00011db0| 5f 63 6c 69 65 6e 74 28 | 29 3b 0a 0a 73 68 6f 72 |_client(|);..shor|
|00011dc0| 74 20 67 65 74 5f 63 6c | 69 65 6e 74 5f 69 64 28 |t get_cl|ient_id(|
|00011dd0| 29 0a 7b 0a 20 20 20 20 | 63 6c 69 65 6e 74 20 2a |).{. |client *|
|00011de0| 63 74 6d 70 3b 0a 20 20 | 20 20 73 68 6f 72 74 20 |ctmp;. | short |
|00011df0| 20 63 6c 69 65 6e 74 5f | 69 64 2c 69 64 5f 6e 6f | client_|id,id_no|
|00011e00| 74 5f 73 65 74 3b 0a 0a | 20 20 20 20 63 6c 69 65 |t_set;..| clie|
|00011e10| 6e 74 5f 69 64 20 3d 20 | 31 3b 0a 20 20 20 20 69 |nt_id = |1;. i|
|00011e20| 64 5f 6e 6f 74 5f 73 65 | 74 20 3d 20 31 3b 0a 0a |d_not_se|t = 1;..|
|00011e30| 20 20 20 20 2f 2a 20 66 | 69 6e 64 20 74 68 65 20 | /* f|ind the |
|00011e40| 6e 65 78 74 20 66 72 65 | 65 20 63 6c 69 65 6e 74 |next fre|e client|
|00011e50| 20 69 64 20 20 2a 2f 0a | 0a 20 20 20 20 77 68 69 | id */.|. whi|
|00011e60| 6c 65 20 28 69 64 5f 6e | 6f 74 5f 73 65 74 29 0a |le (id_n|ot_set).|
|00011e70| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 63 74 6d | {. | ctm|
|00011e80| 70 20 3d 20 63 68 65 61 | 64 3b 0a 20 20 20 20 20 |p = chea|d;. |
|00011e90| 20 20 77 68 69 6c 65 20 | 28 63 74 6d 70 20 21 3d | while |(ctmp !=|
|00011ea0| 20 4e 55 4c 4c 29 0a 20 | 20 20 20 20 20 20 7b 0a | NULL). | {.|
|00011eb0| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 63 74 6d | | if (ctm|
|00011ec0| 70 2d 3e 63 6c 6e 74 5f | 69 64 20 3d 3d 20 63 6c |p->clnt_|id == cl|
|00011ed0| 69 65 6e 74 5f 69 64 29 | 0a 20 20 20 20 20 20 20 |ient_id)|. |
|00011ee0| 20 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00011ef0| 63 6c 69 65 6e 74 5f 69 | 64 2b 2b 3b 0a 20 20 20 |client_i|d++;. |
|00011f00| 20 20 20 20 20 20 20 20 | 20 62 72 65 61 6b 3b 0a | | break;.|
|00011f10| 20 20 20 20 20 20 20 20 | 20 7d 0a 20 20 20 20 20 | | }. |
|00011f20| 20 20 20 20 63 74 6d 70 | 20 3d 20 63 74 6d 70 2d | ctmp| = ctmp-|
|00011f30| 3e 63 6c 6e 74 5f 6e 70 | 74 72 3b 0a 20 20 20 20 |>clnt_np|tr;. |
|00011f40| 20 20 20 7d 0a 20 20 20 | 20 20 20 20 69 66 20 28 | }. | if (|
|00011f50| 63 74 6d 70 20 3d 3d 20 | 4e 55 4c 4c 29 0a 20 20 |ctmp == |NULL). |
|00011f60| 20 20 20 20 20 20 20 69 | 64 5f 6e 6f 74 5f 73 65 | i|d_not_se|
|00011f70| 74 20 3d 20 30 3b 0a 20 | 20 20 20 7d 0a 0a 20 20 |t = 0;. | }.. |
|00011f80| 20 20 72 65 74 75 72 6e | 28 63 6c 69 65 6e 74 5f | return|(client_|
|00011f90| 69 64 29 3b 0a 7d 0a 0a | 63 6c 69 65 6e 74 20 2a |id);.}..|client *|
|00011fa0| 66 69 6e 64 5f 63 6c 69 | 65 6e 74 28 63 61 64 64 |find_cli|ent(cadd|
|00011fb0| 72 29 20 0a 20 20 20 20 | 20 75 6e 73 69 67 6e 65 |r) . | unsigne|
|00011fc0| 64 20 6c 6f 6e 67 20 63 | 61 64 64 72 3b 0a 7b 0a |d long c|addr;.{.|
|00011fd0| 20 20 20 20 63 6c 69 65 | 6e 74 20 2a 63 74 6d 70 | clie|nt *ctmp|
|00011fe0| 3b 0a 0a 20 20 20 20 63 | 74 6d 70 20 3d 20 63 68 |;.. c|tmp = ch|
|00011ff0| 65 61 64 3b 0a 0a 20 20 | 20 20 77 68 69 6c 65 20 |ead;.. | while |
|00012000| 28 63 74 6d 70 20 21 3d | 20 4e 55 4c 4c 29 0a 20 |(ctmp !=| NULL). |
|00012010| 20 20 20 7b 0a 20 20 20 | 20 20 20 69 66 20 28 63 | {. | if (c|
|00012020| 74 6d 70 2d 3e 63 6c 6e | 74 5f 61 64 64 72 2e 61 |tmp->cln|t_addr.a|
|00012030| 64 64 72 20 3d 3d 20 63 | 61 64 64 72 29 0a 20 20 |ddr == c|addr). |
|00012040| 20 20 20 20 20 20 20 72 | 65 74 75 72 6e 28 63 74 | r|eturn(ct|
|00012050| 6d 70 29 3b 0a 20 20 20 | 20 20 20 63 74 6d 70 20 |mp);. | ctmp |
|00012060| 3d 20 63 74 6d 70 2d 3e | 63 6c 6e 74 5f 6e 70 74 |= ctmp->|clnt_npt|
|00012070| 72 3b 0a 20 20 20 20 7d | 0a 20 20 20 20 72 65 74 |r;. }|. ret|
|00012080| 75 72 6e 28 4e 55 4c 4c | 29 3b 0a 7d 0a 0a 6d 61 |urn(NULL|);.}..ma|
|00012090| 76 65 6e 5f 63 6c 69 65 | 6e 74 20 2a 66 69 6e 64 |ven_clie|nt *find|
|000120a0| 5f 6d 61 76 65 6e 5f 63 | 6c 69 65 6e 74 28 63 61 |_maven_c|lient(ca|
|000120b0| 64 64 72 29 20 0a 20 20 | 20 20 75 6e 73 69 67 6e |ddr) . | unsign|
|000120c0| 65 64 20 6c 6f 6e 67 20 | 63 61 64 64 72 3b 0a 7b |ed long |caddr;.{|
|000120d0| 0a 20 20 20 20 6d 61 76 | 65 6e 5f 63 6c 69 65 6e |. mav|en_clien|
|000120e0| 74 20 2a 63 74 6d 70 3b | 0a 0a 20 20 20 20 63 74 |t *ctmp;|.. ct|
|000120f0| 6d 70 20 3d 20 6d 68 65 | 61 64 3b 0a 0a 20 20 20 |mp = mhe|ad;.. |
|00012100| 20 77 68 69 6c 65 20 28 | 63 74 6d 70 20 21 3d 20 | while (|ctmp != |
|00012110| 4e 55 4c 4c 29 0a 20 20 | 20 20 7b 0a 20 20 20 20 |NULL). | {. |
|00012120| 20 20 69 66 20 28 63 74 | 6d 70 2d 3e 6d 76 6e 5f | if (ct|mp->mvn_|
|00012130| 61 64 64 72 2e 61 64 64 | 72 20 3d 3d 20 63 61 64 |addr.add|r == cad|
|00012140| 64 72 29 0a 20 20 20 20 | 20 20 20 20 20 72 65 74 |dr). | ret|
|00012150| 75 72 6e 28 63 74 6d 70 | 29 3b 0a 20 20 20 20 20 |urn(ctmp|);. |
|00012160| 20 63 74 6d 70 20 3d 20 | 63 74 6d 70 2d 3e 6d 76 | ctmp = |ctmp->mv|
|00012170| 6e 5f 6e 70 74 72 3b 0a | 20 20 20 20 7d 0a 20 20 |n_nptr;.| }. |
|00012180| 20 20 72 65 74 75 72 6e | 28 4e 55 4c 4c 29 3b 0a | return|(NULL);.|
|00012190| 7d 0a 0a 0a 6d 61 76 65 | 6e 5f 63 6c 69 65 6e 74 |}...mave|n_client|
|000121a0| 20 2a 6e 65 77 5f 6d 61 | 76 65 6e 5f 63 6c 69 65 | *new_ma|ven_clie|
|000121b0| 6e 74 28 63 61 64 64 72 | 29 20 0a 20 20 20 20 75 |nt(caddr|) . u|
|000121c0| 6e 73 69 67 6e 65 64 20 | 6c 6f 6e 67 20 63 61 64 |nsigned |long cad|
|000121d0| 64 72 3b 0a 7b 0a 20 20 | 20 20 6d 61 76 65 6e 5f |dr;.{. | maven_|
|000121e0| 63 6c 69 65 6e 74 20 2a | 63 74 6d 70 3b 0a 0a 20 |client *|ctmp;.. |
|000121f0| 20 20 20 69 66 20 28 28 | 63 74 6d 70 20 3d 20 28 | if ((|ctmp = (|
|00012200| 6d 61 76 65 6e 5f 63 6c | 69 65 6e 74 20 2a 29 20 |maven_cl|ient *) |
|00012210| 63 61 6c 6c 6f 63 28 31 | 2c 73 69 7a 65 6f 66 28 |calloc(1|,sizeof(|
|00012220| 6d 61 76 65 6e 5f 63 6c | 69 65 6e 74 29 29 29 20 |maven_cl|ient))) |
|00012230| 3d 3d 20 4e 55 4c 4c 29 | 0a 20 20 20 20 20 20 20 |== NULL)|. |
|00012240| 72 65 74 75 72 6e 28 4e | 55 4c 4c 29 3b 0a 0a 20 |return(N|ULL);.. |
|00012250| 20 20 20 63 74 6d 70 2d | 3e 6d 76 6e 5f 61 64 64 | ctmp-|>mvn_add|
|00012260| 72 2e 61 64 64 72 20 3d | 20 63 61 64 64 72 3b 20 |r.addr =| caddr; |
|00012270| 20 20 20 20 20 20 20 20 | 20 20 0a 20 20 20 20 63 | | . c|
|00012280| 74 6d 70 2d 3e 6d 76 6e | 5f 61 64 64 72 2e 70 6f |tmp->mvn|_addr.po|
|00012290| 72 74 20 3d 20 6d 61 76 | 65 6e 5f 70 6f 72 74 3b |rt = mav|en_port;|
|000122a0| 20 20 20 20 20 20 20 20 | 20 20 20 0a 20 20 20 20 | | . |
|000122b0| 63 74 6d 70 2d 3e 6d 76 | 6e 5f 61 64 64 72 2e 66 |ctmp->mv|n_addr.f|
|000122c0| 61 6d 69 6c 79 20 3d 20 | 41 46 5f 49 4e 45 54 3b |amily = |AF_INET;|
|000122d0| 20 20 20 20 20 20 20 20 | 20 20 20 0a 0a 20 20 20 | | .. |
|000122e0| 20 63 74 6d 70 2d 3e 6d | 76 6e 5f 6e 70 74 72 20 | ctmp->m|vn_nptr |
|000122f0| 3d 20 6d 68 65 61 64 3b | 0a 20 20 20 20 6d 68 65 |= mhead;|. mhe|
|00012300| 61 64 20 3d 20 63 74 6d | 70 3b 0a 20 20 20 20 72 |ad = ctm|p;. r|
|00012310| 65 74 75 72 6e 28 63 74 | 6d 70 29 3b 0a 7d 0a 0a |eturn(ct|mp);.}..|
|00012320| 63 6c 69 65 6e 74 20 2a | 6f 70 65 6e 5f 63 6f 6e |client *|open_con|
|00012330| 6e 65 63 74 69 6f 6e 28 | 76 69 64 70 74 72 2c 63 |nection(|vidptr,c|
|00012340| 73 6f 63 6b 2c 74 79 70 | 65 29 0a 20 20 20 56 69 |sock,typ|e). Vi|
|00012350| 64 65 6f 50 61 63 6b 65 | 74 48 65 61 64 65 72 20 |deoPacke|tHeader |
|00012360| 20 20 2a 76 69 64 70 74 | 72 3b 0a 20 20 20 73 74 | *vidpt|r;. st|
|00012370| 72 75 63 74 20 73 6f 63 | 6b 61 64 64 72 5f 69 6e |ruct soc|kaddr_in|
|00012380| 20 20 2a 63 73 6f 63 6b | 3b 0a 20 20 20 73 68 6f | *csock|;. sho|
|00012390| 72 74 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |rt | |
|000123a0| 20 74 79 70 65 3b 0a 7b | 0a 20 20 20 20 63 6c 69 | type;.{|. cli|
|000123b0| 65 6e 74 20 20 20 20 20 | 20 20 20 2a 63 6c 74 70 |ent | *cltp|
|000123c0| 74 72 2c 2a 63 74 6d 70 | 3b 0a 20 20 20 20 63 68 |tr,*ctmp|;. ch|
|000123d0| 61 72 20 20 20 20 20 20 | 20 20 20 20 2a 63 70 74 |ar | *cpt|
|000123e0| 72 3b 0a 20 20 20 20 73 | 68 6f 72 74 20 20 20 20 |r;. s|hort |
|000123f0| 20 20 20 20 20 63 6c 69 | 65 6e 74 5f 69 64 2c 63 | cli|ent_id,c|
|00012400| 6e 74 3b 0a 0a 20 20 20 | 20 73 77 69 74 63 68 20 |nt;.. | switch |
|00012410| 28 74 79 70 65 29 0a 20 | 20 20 20 7b 0a 20 20 20 |(type). | {. |
|00012420| 20 20 20 20 63 61 73 65 | 20 42 43 43 5f 43 4c 49 | case| BCC_CLI|
|00012430| 45 4e 54 3a 0a 20 20 20 | 20 20 20 20 20 20 20 64 |ENT:. | d|
|00012440| 6f 6c 6f 67 28 22 42 43 | 43 20 63 6c 69 65 6e 74 |olog("BC|C client|
|00012450| 20 61 74 20 25 73 20 69 | 73 20 6f 70 65 6e 69 6e | at %s i|s openin|
|00012460| 67 20 63 6f 6e 6e 65 63 | 74 69 6f 6e 5c 6e 22 2c |g connec|tion\n",|
|00012470| 20 69 6e 65 74 5f 6e 74 | 6f 61 28 63 73 6f 63 6b | inet_nt|oa(csock|
|00012480| 2d 3e 73 69 6e 5f 61 64 | 64 72 29 29 3b 0a 0a 20 |->sin_ad|dr));.. |
|00012490| 20 20 20 20 20 20 20 20 | 20 63 6c 74 70 74 72 20 | | cltptr |
|000124a0| 3d 20 28 63 6c 69 65 6e | 74 20 2a 29 20 67 65 74 |= (clien|t *) get|
|000124b0| 5f 63 6c 69 65 6e 74 28 | 29 3b 0a 20 20 20 20 20 |_client(|);. |
|000124c0| 20 20 20 20 20 63 6c 74 | 70 74 72 2d 3e 63 6c 6e | clt|ptr->cln|
|000124d0| 74 5f 61 64 64 72 2e 66 | 61 6d 69 6c 79 20 3d 20 |t_addr.f|amily = |
|000124e0| 41 46 5f 49 4e 45 54 3b | 0a 20 20 20 20 20 20 20 |AF_INET;|. |
|000124f0| 20 20 20 63 6c 74 70 74 | 72 2d 3e 63 6c 6e 74 5f | cltpt|r->clnt_|
|00012500| 61 64 64 72 2e 70 6f 72 | 74 20 3d 20 76 69 64 70 |addr.por|t = vidp|
|00012510| 74 72 2d 3e 72 6f 75 74 | 69 6e 67 2e 73 72 63 2e |tr->rout|ing.src.|
|00012520| 70 6f 72 74 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |port;. | |
|00012530| 63 6c 74 70 74 72 2d 3e | 63 6c 6e 74 5f 66 6c 61 |cltptr->|clnt_fla|
|00012540| 67 73 20 7c 3d 20 42 43 | 43 5f 43 4c 49 45 4e 54 |gs |= BC|C_CLIENT|
|00012550| 3b 20 0a 20 20 20 20 20 | 20 20 20 20 20 62 63 6f |; . | bco|
|00012560| 70 79 28 26 63 73 6f 63 | 6b 2d 3e 73 69 6e 5f 61 |py(&csoc|k->sin_a|
|00012570| 64 64 72 2c 26 63 6c 74 | 70 74 72 2d 3e 63 6c 6e |ddr,&clt|ptr->cln|
|00012580| 74 5f 61 64 64 72 2e 61 | 64 64 72 2c 34 29 3b 0a |t_addr.a|ddr,4);.|
|00012590| 20 20 20 20 20 20 20 20 | 20 20 73 74 72 63 70 79 | | strcpy|
|000125a0| 28 63 6c 74 70 74 72 2d | 3e 63 6c 6e 74 5f 63 6f |(cltptr-|>clnt_co|
|000125b0| 6e 66 69 67 2e 6e 61 6d | 65 2c 22 42 43 43 20 43 |nfig.nam|e,"BCC C|
|000125c0| 4c 49 45 4e 54 22 29 3b | 0a 09 20 20 0a 20 20 20 |LIENT");|.. . |
|000125d0| 20 20 20 20 20 20 20 63 | 6c 74 70 74 72 2d 3e 63 | c|ltptr->c|
|000125e0| 6c 6e 74 5f 6e 70 74 72 | 20 3d 20 63 68 65 61 64 |lnt_nptr| = chead|
|000125f0| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 63 68 65 61 |;. | chea|
|00012600| 64 20 3d 20 63 6c 74 70 | 74 72 3b 0a 09 20 20 62 |d = cltp|tr;.. b|
|00012610| 63 63 5f 63 6c 69 65 6e | 74 5f 63 6e 74 2b 2b 3b |cc_clien|t_cnt++;|
|00012620| 0a 20 20 20 20 20 20 20 | 20 20 20 72 65 74 75 72 |. | retur|
|00012630| 6e 28 63 6c 74 70 74 72 | 29 3b 0a 0a 20 20 20 20 |n(cltptr|);.. |
|00012640| 20 20 20 63 61 73 65 20 | 42 43 43 5f 53 45 52 56 | case |BCC_SERV|
|00012650| 45 52 3a 0a 20 20 20 20 | 20 20 20 20 20 20 64 6f |ER:. | do|
|00012660| 6c 6f 67 28 22 42 43 43 | 20 73 65 72 76 65 72 20 |log("BCC| server |
|00012670| 61 74 20 25 73 20 69 73 | 20 6f 70 65 6e 69 6e 67 |at %s is| opening|
|00012680| 20 61 20 63 6f 6e 6e 65 | 63 74 69 6f 6e 5c 6e 22 | a conne|ction\n"|
|00012690| 2c 20 69 6e 65 74 5f 6e | 74 6f 61 28 63 73 6f 63 |, inet_n|toa(csoc|
|000126a0| 6b 2d 3e 73 69 6e 5f 61 | 64 64 72 29 29 3b 0a 0a |k->sin_a|ddr));..|
|000126b0| 20 20 20 20 20 20 20 20 | 20 20 63 6c 74 70 74 72 | | cltptr|
|000126c0| 20 3d 20 28 63 6c 69 65 | 6e 74 20 2a 29 20 67 65 | = (clie|nt *) ge|
|000126d0| 74 5f 63 6c 69 65 6e 74 | 28 29 3b 0a 20 20 20 20 |t_client|();. |
|000126e0| 20 20 20 20 20 20 63 6c | 74 70 74 72 2d 3e 63 6c | cl|tptr->cl|
|000126f0| 6e 74 5f 61 64 64 72 2e | 66 61 6d 69 6c 79 20 3d |nt_addr.|family =|
|00012700| 20 41 46 5f 49 4e 45 54 | 3b 0a 20 20 20 20 20 20 | AF_INET|;. |
|00012710| 20 20 20 20 63 6c 74 70 | 74 72 2d 3e 63 6c 6e 74 | cltp|tr->clnt|
|00012720| 5f 61 64 64 72 2e 70 6f | 72 74 20 3d 20 76 69 64 |_addr.po|rt = vid|
|00012730| 70 74 72 2d 3e 72 6f 75 | 74 69 6e 67 2e 73 72 63 |ptr->rou|ting.src|
|00012740| 2e 70 6f 72 74 3b 0a 20 | 20 20 20 20 20 20 20 20 |.port;. | |
|00012750| 20 63 6c 74 70 74 72 2d | 3e 63 6c 6e 74 5f 66 6c | cltptr-|>clnt_fl|
|00012760| 61 67 73 20 7c 3d 20 42 | 43 43 5f 53 45 52 56 45 |ags |= B|CC_SERVE|
|00012770| 52 3b 0a 20 20 20 20 20 | 20 20 20 20 20 62 63 6f |R;. | bco|
|00012780| 70 79 28 26 63 73 6f 63 | 6b 2d 3e 73 69 6e 5f 61 |py(&csoc|k->sin_a|
|00012790| 64 64 72 2c 26 63 6c 74 | 70 74 72 2d 3e 63 6c 6e |ddr,&clt|ptr->cln|
|000127a0| 74 5f 61 64 64 72 2e 61 | 64 64 72 2c 34 29 3b 0a |t_addr.a|ddr,4);.|
|000127b0| 20 20 20 20 20 20 20 20 | 20 20 73 74 72 63 70 79 | | strcpy|
|000127c0| 28 63 6c 74 70 74 72 2d | 3e 63 6c 6e 74 5f 63 6f |(cltptr-|>clnt_co|
|000127d0| 6e 66 69 67 2e 6e 61 6d | 65 2c 22 42 43 43 20 53 |nfig.nam|e,"BCC S|
|000127e0| 45 52 56 45 52 22 29 3b | 0a 0a 20 20 20 20 20 20 |ERVER");|.. |
|000127f0| 20 20 20 20 63 6c 74 70 | 74 72 2d 3e 63 6c 6e 74 | cltp|tr->clnt|
|00012800| 5f 6e 70 74 72 20 3d 20 | 63 68 65 61 64 3b 0a 20 |_nptr = |chead;. |
|00012810| 20 20 20 20 20 20 20 20 | 20 63 68 65 61 64 20 3d | | chead =|
|00012820| 20 63 6c 74 70 74 72 3b | 0a 0a 09 20 20 62 63 63 | cltptr;|... bcc|
|00012830| 5f 73 65 72 76 65 72 5f | 63 6e 74 2b 2b 3b 0a 0a |_server_|cnt++;..|
|00012840| 20 20 20 20 20 20 20 20 | 20 20 6f 70 65 6e 5f 63 | | open_c|
|00012850| 6f 6e 6e 65 63 74 69 6f | 6e 28 76 69 64 70 74 72 |onnectio|n(vidptr|
|00012860| 2c 28 73 74 72 75 63 74 | 20 73 6f 63 6b 61 64 64 |,(struct| sockadd|
|00012870| 72 5f 69 6e 20 2a 29 20 | 26 76 69 64 70 74 72 2d |r_in *) |&vidptr-|
|00012880| 3e 72 6f 75 74 69 6e 67 | 2e 73 72 63 2c 42 43 43 |>routing|.src,BCC|
|00012890| 5f 4f 52 49 47 49 4e 29 | 3b 0a 20 20 20 20 20 20 |_ORIGIN)|;. |
|000128a0| 20 20 20 20 72 65 74 75 | 72 6e 28 63 6c 74 70 74 | retu|rn(cltpt|
|000128b0| 72 29 3b 0a 0a 20 20 20 | 20 20 20 20 63 61 73 65 |r);.. | case|
|000128c0| 20 42 43 43 5f 4f 52 49 | 47 49 4e 3a 20 20 0a 20 | BCC_ORI|GIN: . |
|000128d0| 20 20 20 20 20 20 20 20 | 20 64 6f 6c 6f 67 28 22 | | dolog("|
|000128e0| 42 43 43 20 73 65 72 76 | 65 72 27 73 20 63 6c 69 |BCC serv|er's cli|
|000128f0| 65 6e 74 20 61 74 20 25 | 73 20 69 73 20 6f 70 65 |ent at %|s is ope|
|00012900| 6e 69 6e 67 20 61 20 63 | 6f 6e 6e 65 63 74 69 6f |ning a c|onnectio|
|00012910| 6e 5c 6e 22 2c 20 69 6e | 65 74 5f 6e 74 6f 61 28 |n\n", in|et_ntoa(|
|00012920| 63 73 6f 63 6b 2d 3e 73 | 69 6e 5f 61 64 64 72 29 |csock->s|in_addr)|
|00012930| 29 3b 0a 0a 20 20 20 20 | 20 20 20 20 20 20 69 66 |);.. | if|
|00012940| 20 28 28 63 6c 69 65 6e | 74 5f 69 64 20 3d 20 67 | ((clien|t_id = g|
|00012950| 65 74 5f 63 6c 69 65 6e | 74 5f 69 64 28 29 29 20 |et_clien|t_id()) |
|00012960| 3d 3d 20 2d 31 29 0a 20 | 20 20 20 20 20 20 20 20 |== -1). | |
|00012970| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00012980| 64 6f 6c 6f 67 28 22 6d | 61 78 69 6d 75 6d 20 23 |dolog("m|aximum #|
|00012990| 20 6f 66 20 63 6c 69 65 | 6e 74 73 20 65 78 63 65 | of clie|nts exce|
|000129a0| 65 64 65 64 5c 6e 22 29 | 3b 0a 20 20 20 20 20 20 |eded\n")|;. |
|000129b0| 20 20 20 20 20 20 20 72 | 65 74 75 72 6e 28 4e 55 | r|eturn(NU|
|000129c0| 4c 4c 29 3b 0a 20 20 20 | 20 20 20 20 20 20 20 7d |LL);. | }|
|000129d0| 0a 20 20 20 20 20 20 0a | 20 20 20 20 20 20 20 20 |. .| |
|000129e0| 20 20 63 6c 74 70 74 72 | 20 3d 20 28 63 6c 69 65 | cltptr| = (clie|
|000129f0| 6e 74 20 2a 29 20 67 65 | 74 5f 63 6c 69 65 6e 74 |nt *) ge|t_client|
|00012a00| 28 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 63 6c |();. | cl|
|00012a10| 74 70 74 72 2d 3e 63 6c | 6e 74 5f 61 64 64 72 2e |tptr->cl|nt_addr.|
|00012a20| 66 61 6d 69 6c 79 20 3d | 20 41 46 5f 49 4e 45 54 |family =| AF_INET|
|00012a30| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 63 6c 74 70 |;. | cltp|
|00012a40| 74 72 2d 3e 63 6c 6e 74 | 5f 61 64 64 72 2e 70 6f |tr->clnt|_addr.po|
|00012a50| 72 74 20 3d 20 76 69 64 | 70 74 72 2d 3e 72 6f 75 |rt = vid|ptr->rou|
|00012a60| 74 69 6e 67 2e 73 72 63 | 2e 70 6f 72 74 3b 0a 20 |ting.src|.port;. |
|00012a70| 20 20 20 20 20 20 20 20 | 20 63 6c 74 70 74 72 2d | | cltptr-|
|00012a80| 3e 63 6c 6e 74 5f 66 6c | 61 67 73 20 7c 3d 20 42 |>clnt_fl|ags |= B|
|00012a90| 43 43 5f 4f 52 49 47 49 | 4e 3b 0a 20 20 20 20 20 |CC_ORIGI|N;. |
|00012aa0| 20 20 20 20 20 63 6c 74 | 70 74 72 2d 3e 63 6c 6e | clt|ptr->cln|
|00012ab0| 74 5f 69 64 20 3d 20 63 | 6c 69 65 6e 74 5f 69 64 |t_id = c|lient_id|
|00012ac0| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 62 63 6f 70 |;. | bcop|
|00012ad0| 79 28 26 63 73 6f 63 6b | 2d 3e 73 69 6e 5f 61 64 |y(&csock|->sin_ad|
|00012ae0| 64 72 2c 26 63 6c 74 70 | 74 72 2d 3e 63 6c 6e 74 |dr,&cltp|tr->clnt|
|00012af0| 5f 61 64 64 72 2e 61 64 | 64 72 2c 34 29 3b 0a 20 |_addr.ad|dr,4);. |
|00012b00| 20 20 20 20 20 0a 20 20 | 20 20 20 20 20 20 20 20 | . | |
|00012b10| 63 6c 74 70 74 72 2d 3e | 63 6c 6e 74 5f 6e 70 74 |cltptr->|clnt_npt|
|00012b20| 72 20 3d 20 63 68 65 61 | 64 3b 0a 20 20 20 20 20 |r = chea|d;. |
|00012b30| 20 20 20 20 20 63 68 65 | 61 64 20 3d 20 63 6c 74 | che|ad = clt|
|00012b40| 70 74 72 3b 0a 0a 09 20 | 20 62 63 63 5f 6f 72 69 |ptr;... | bcc_ori|
|00012b50| 67 69 6e 5f 63 6e 74 2b | 2b 3b 0a 20 20 20 20 20 |gin_cnt+|+;. |
|00012b60| 20 0a 20 20 20 20 20 20 | 20 20 20 20 63 70 74 72 | . | cptr|
|00012b70| 20 3d 20 28 28 63 68 61 | 72 20 2a 29 20 76 69 64 | = ((cha|r *) vid|
|00012b80| 70 74 72 20 2b 20 48 45 | 41 44 45 52 4c 45 4e 29 |ptr + HE|ADERLEN)|
|00012b90| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 75 70 64 61 |;. | upda|
|00012ba0| 74 65 5f 63 6c 69 65 6e | 74 28 63 6c 74 70 74 72 |te_clien|t(cltptr|
|00012bb0| 2c 63 70 74 72 2c 46 41 | 4c 53 45 2c 46 41 4c 53 |,cptr,FA|LSE,FALS|
|00012bc0| 45 29 3b 0a 0a 20 20 20 | 20 20 20 20 20 20 20 72 |E);.. | r|
|00012bd0| 65 74 75 72 6e 28 63 6c | 74 70 74 72 29 3b 0a 0a |eturn(cl|tptr);..|
|00012be0| 20 20 20 20 20 20 20 63 | 61 73 65 20 52 45 46 31 | c|ase REF1|
|00012bf0| 5f 43 4c 49 45 4e 54 3a | 20 20 20 0a 20 20 20 20 |_CLIENT:| . |
|00012c00| 20 20 20 20 20 20 64 6f | 6c 6f 67 28 22 52 45 46 | do|log("REF|
|00012c10| 20 64 6f 77 6e 73 74 72 | 65 61 6d 20 63 6c 69 65 | downstr|eam clie|
|00012c20| 6e 74 20 61 74 20 25 73 | 20 69 73 20 6f 70 65 6e |nt at %s| is open|
|00012c30| 69 6e 67 20 63 6f 6e 6e | 65 63 74 69 6f 6e 5c 6e |ing conn|ection\n|
|00012c40| 22 2c 20 69 6e 65 74 5f | 6e 74 6f 61 28 63 73 6f |", inet_|ntoa(cso|
|00012c50| 63 6b 2d 3e 73 69 6e 5f | 61 64 64 72 29 29 3b 0a |ck->sin_|addr));.|
|00012c60| 0a 20 20 20 20 20 20 20 | 20 20 20 63 6c 74 70 74 |. | cltpt|
|00012c70| 72 20 3d 20 28 63 6c 69 | 65 6e 74 20 2a 29 20 67 |r = (cli|ent *) g|
|00012c80| 65 74 5f 63 6c 69 65 6e | 74 28 29 3b 0a 20 20 20 |et_clien|t();. |
|00012c90| 20 20 20 20 20 20 20 63 | 6c 74 70 74 72 2d 3e 63 | c|ltptr->c|
|00012ca0| 6c 6e 74 5f 61 64 64 72 | 2e 66 61 6d 69 6c 79 20 |lnt_addr|.family |
|00012cb0| 3d 20 41 46 5f 49 4e 45 | 54 3b 0a 20 20 20 20 20 |= AF_INE|T;. |
|00012cc0| 20 20 20 20 20 63 6c 74 | 70 74 72 2d 3e 63 6c 6e | clt|ptr->cln|
|00012cd0| 74 5f 61 64 64 72 2e 70 | 6f 72 74 20 3d 20 76 69 |t_addr.p|ort = vi|
|00012ce0| 64 70 74 72 2d 3e 72 6f | 75 74 69 6e 67 2e 73 72 |dptr->ro|uting.sr|
|00012cf0| 63 2e 70 6f 72 74 3b 0a | 20 20 20 20 20 20 20 20 |c.port;.| |
|00012d00| 20 20 63 6c 74 70 74 72 | 2d 3e 63 6c 6e 74 5f 66 | cltptr|->clnt_f|
|00012d10| 6c 61 67 73 20 7c 3d 20 | 52 45 46 31 5f 43 4c 49 |lags |= |REF1_CLI|
|00012d20| 45 4e 54 3b 20 0a 20 20 | 20 20 20 20 20 20 20 20 |ENT; . | |
|00012d30| 62 63 6f 70 79 28 26 63 | 73 6f 63 6b 2d 3e 73 69 |bcopy(&c|sock->si|
|00012d40| 6e 5f 61 64 64 72 2c 26 | 63 6c 74 70 74 72 2d 3e |n_addr,&|cltptr->|
|00012d50| 63 6c 6e 74 5f 61 64 64 | 72 2e 61 64 64 72 2c 34 |clnt_add|r.addr,4|
|00012d60| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 73 74 72 |);. | str|
|00012d70| 63 70 79 28 63 6c 74 70 | 74 72 2d 3e 63 6c 6e 74 |cpy(cltp|tr->clnt|
|00012d80| 5f 63 6f 6e 66 69 67 2e | 6e 61 6d 65 2c 22 44 6f |_config.|name,"Do|
|00012d90| 77 6e 73 74 65 61 6d 20 | 52 45 46 22 29 3b 0a 0a |wnsteam |REF");..|
|00012da0| 20 20 20 20 20 20 20 20 | 20 20 63 6c 74 70 74 72 | | cltptr|
|00012db0| 2d 3e 63 6c 6e 74 5f 6e | 70 74 72 20 3d 20 63 68 |->clnt_n|ptr = ch|
|00012dc0| 65 61 64 3b 0a 20 20 20 | 20 20 20 20 20 20 20 63 |ead;. | c|
|00012dd0| 68 65 61 64 20 3d 20 63 | 6c 74 70 74 72 3b 0a 0a |head = c|ltptr;..|
|00012de0| 09 20 20 72 65 66 31 5f | 63 6c 69 65 6e 74 5f 63 |. ref1_|client_c|
|00012df0| 6e 74 2b 2b 3b 0a 0a 20 | 20 20 20 20 20 20 20 20 |nt++;.. | |
|00012e00| 20 72 65 74 75 72 6e 28 | 63 6c 74 70 74 72 29 3b | return(|cltptr);|
|00012e10| 0a 0a 20 20 20 20 20 20 | 20 63 61 73 65 20 52 45 |.. | case RE|
|00012e20| 46 31 5f 53 45 52 56 45 | 52 3a 0a 0a 20 20 20 20 |F1_SERVE|R:.. |
|00012e30| 20 20 20 20 20 20 64 6f | 6c 6f 67 28 22 52 45 46 | do|log("REF|
|00012e40| 20 75 70 73 74 72 65 61 | 6d 20 73 65 72 76 65 72 | upstrea|m server|
|00012e50| 20 61 74 20 25 73 20 69 | 73 20 6f 70 65 6e 69 6e | at %s i|s openin|
|00012e60| 67 20 61 20 63 6f 6e 6e | 65 63 74 69 6f 6e 5c 6e |g a conn|ection\n|
|00012e70| 22 2c 20 69 6e 65 74 5f | 6e 74 6f 61 28 63 73 6f |", inet_|ntoa(cso|
|00012e80| 63 6b 2d 3e 73 69 6e 5f | 61 64 64 72 29 29 3b 0a |ck->sin_|addr));.|
|00012e90| 0a 20 20 20 20 20 20 20 | 20 20 20 63 6c 74 70 74 |. | cltpt|
|00012ea0| 72 20 3d 20 28 63 6c 69 | 65 6e 74 20 2a 29 20 67 |r = (cli|ent *) g|
|00012eb0| 65 74 5f 63 6c 69 65 6e | 74 28 29 3b 0a 20 20 20 |et_clien|t();. |
|00012ec0| 20 20 20 20 20 20 20 63 | 6c 74 70 74 72 2d 3e 63 | c|ltptr->c|
|00012ed0| 6c 6e 74 5f 61 64 64 72 | 2e 66 61 6d 69 6c 79 20 |lnt_addr|.family |
|00012ee0| 3d 20 41 46 5f 49 4e 45 | 54 3b 0a 20 20 20 20 20 |= AF_INE|T;. |
|00012ef0| 20 20 20 20 20 63 6c 74 | 70 74 72 2d 3e 63 6c 6e | clt|ptr->cln|
|00012f00| 74 5f 61 64 64 72 2e 70 | 6f 72 74 20 3d 20 76 69 |t_addr.p|ort = vi|
|00012f10| 64 70 74 72 2d 3e 72 6f | 75 74 69 6e 67 2e 73 72 |dptr->ro|uting.sr|
|00012f20| 63 2e 70 6f 72 74 3b 0a | 20 20 20 20 20 20 20 20 |c.port;.| |
|00012f30| 20 20 63 6c 74 70 74 72 | 2d 3e 63 6c 6e 74 5f 66 | cltptr|->clnt_f|
|00012f40| 6c 61 67 73 20 7c 3d 20 | 52 45 46 31 5f 53 45 52 |lags |= |REF1_SER|
|00012f50| 56 45 52 3b 0a 20 20 20 | 20 20 20 20 20 20 20 62 |VER;. | b|
|00012f60| 63 6f 70 79 28 26 63 73 | 6f 63 6b 2d 3e 73 69 6e |copy(&cs|ock->sin|
|00012f70| 5f 61 64 64 72 2c 26 63 | 6c 74 70 74 72 2d 3e 63 |_addr,&c|ltptr->c|
|00012f80| 6c 6e 74 5f 61 64 64 72 | 2e 61 64 64 72 2c 34 29 |lnt_addr|.addr,4)|
|00012f90| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 73 74 72 63 |;. | strc|
|00012fa0| 70 79 28 63 6c 74 70 74 | 72 2d 3e 63 6c 6e 74 5f |py(cltpt|r->clnt_|
|00012fb0| 63 6f 6e 66 69 67 2e 6e | 61 6d 65 2c 22 55 70 73 |config.n|ame,"Ups|
|00012fc0| 74 72 65 61 6d 20 52 45 | 46 22 29 3b 0a 0a 20 20 |tream RE|F");.. |
|00012fd0| 20 20 20 20 20 20 20 20 | 63 6c 74 70 74 72 2d 3e | |cltptr->|
|00012fe0| 63 6c 6e 74 5f 6e 70 74 | 72 20 3d 20 63 68 65 61 |clnt_npt|r = chea|
|00012ff0| 64 3b 0a 20 20 20 20 20 | 20 20 20 20 20 63 68 65 |d;. | che|
|00013000| 61 64 20 3d 20 63 6c 74 | 70 74 72 3b 0a 0a 20 20 |ad = clt|ptr;.. |
|00013010| 20 20 20 20 20 20 20 20 | 72 65 66 31 5f 73 65 72 | |ref1_ser|
|00013020| 76 65 72 5f 63 6e 74 2b | 2b 3b 0a 0a 20 20 20 20 |ver_cnt+|+;.. |
|00013030| 20 20 20 20 20 20 6f 70 | 65 6e 5f 63 6f 6e 6e 65 | op|en_conne|
|00013040| 63 74 69 6f 6e 28 76 69 | 64 70 74 72 2c 28 73 74 |ction(vi|dptr,(st|
|00013050| 72 75 63 74 20 73 6f 63 | 6b 61 64 64 72 5f 69 6e |ruct soc|kaddr_in|
|00013060| 20 2a 29 20 26 76 69 64 | 70 74 72 2d 3e 72 6f 75 | *) &vid|ptr->rou|
|00013070| 74 69 6e 67 2e 73 72 63 | 2c 52 45 46 31 5f 4f 52 |ting.src|,REF1_OR|
|00013080| 49 47 49 4e 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |IGIN);. | |
|00013090| 20 72 65 74 75 72 6e 28 | 63 6c 74 70 74 72 29 3b | return(|cltptr);|
|000130a0| 0a 0a 20 20 20 20 20 20 | 20 63 61 73 65 20 52 45 |.. | case RE|
|000130b0| 46 31 5f 4f 52 49 47 49 | 4e 3a 20 20 20 0a 20 20 |F1_ORIGI|N: . |
|000130c0| 20 20 20 20 20 20 20 20 | 64 6f 6c 6f 67 28 22 52 | |dolog("R|
|000130d0| 45 46 20 75 70 73 74 72 | 65 61 6d 20 73 65 72 76 |EF upstr|eam serv|
|000130e0| 65 72 27 73 20 63 6c 69 | 65 6e 74 20 61 74 20 25 |er's cli|ent at %|
|000130f0| 73 20 69 73 20 6f 70 65 | 6e 69 6e 67 20 61 20 63 |s is ope|ning a c|
|00013100| 6f 6e 6e 65 63 74 69 6f | 6e 5c 6e 22 2c 20 69 6e |onnectio|n\n", in|
|00013110| 65 74 5f 6e 74 6f 61 28 | 63 73 6f 63 6b 2d 3e 73 |et_ntoa(|csock->s|
|00013120| 69 6e 5f 61 64 64 72 29 | 29 3b 0a 0a 20 20 20 20 |in_addr)|);.. |
|00013130| 20 20 20 20 20 20 69 66 | 20 28 28 63 6c 69 65 6e | if| ((clien|
|00013140| 74 5f 69 64 20 3d 20 67 | 65 74 5f 63 6c 69 65 6e |t_id = g|et_clien|
|00013150| 74 5f 69 64 28 29 29 20 | 3d 3d 20 2d 31 29 0a 20 |t_id()) |== -1). |
|00013160| 20 20 20 20 20 20 20 20 | 20 7b 0a 20 20 20 20 20 | | {. |
|00013170| 20 20 20 20 20 20 20 20 | 64 6f 6c 6f 67 28 22 6d | |dolog("m|
|00013180| 61 78 69 6d 75 6d 20 23 | 20 6f 66 20 63 6c 69 65 |aximum #| of clie|
|00013190| 6e 74 73 20 65 78 63 65 | 65 64 65 64 5c 6e 22 29 |nts exce|eded\n")|
|000131a0| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 72 |;. | r|
|000131b0| 65 74 75 72 6e 28 4e 55 | 4c 4c 29 3b 0a 20 20 20 |eturn(NU|LL);. |
|000131c0| 20 20 20 20 20 20 20 7d | 0a 20 20 20 20 20 20 0a | }|. .|
|000131d0| 20 20 20 20 20 20 20 20 | 20 20 63 6c 74 70 74 72 | | cltptr|
|000131e0| 20 3d 20 28 63 6c 69 65 | 6e 74 20 2a 29 20 67 65 | = (clie|nt *) ge|
|000131f0| 74 5f 63 6c 69 65 6e 74 | 28 29 3b 0a 20 20 20 20 |t_client|();. |
|00013200| 20 20 20 20 20 20 63 6c | 74 70 74 72 2d 3e 63 6c | cl|tptr->cl|
|00013210| 6e 74 5f 61 64 64 72 2e | 66 61 6d 69 6c 79 20 3d |nt_addr.|family =|
|00013220| 20 41 46 5f 49 4e 45 54 | 3b 0a 20 20 20 20 20 20 | AF_INET|;. |
|00013230| 20 20 20 20 63 6c 74 70 | 74 72 2d 3e 63 6c 6e 74 | cltp|tr->clnt|
|00013240| 5f 61 64 64 72 2e 70 6f | 72 74 20 3d 20 76 69 64 |_addr.po|rt = vid|
|00013250| 70 74 72 2d 3e 72 6f 75 | 74 69 6e 67 2e 73 72 63 |ptr->rou|ting.src|
|00013260| 2e 70 6f 72 74 3b 0a 20 | 20 20 20 20 20 20 20 20 |.port;. | |
|00013270| 20 63 6c 74 70 74 72 2d | 3e 63 6c 6e 74 5f 66 6c | cltptr-|>clnt_fl|
|00013280| 61 67 73 20 7c 3d 20 52 | 45 46 31 5f 4f 52 49 47 |ags |= R|EF1_ORIG|
|00013290| 49 4e 3b 0a 20 20 20 20 | 20 20 20 20 20 20 63 6c |IN;. | cl|
|000132a0| 74 70 74 72 2d 3e 63 6c | 6e 74 5f 69 64 20 3d 20 |tptr->cl|nt_id = |
|000132b0| 63 6c 69 65 6e 74 5f 69 | 64 3b 0a 20 20 20 20 20 |client_i|d;. |
|000132c0| 20 20 20 20 20 62 63 6f | 70 79 28 26 63 73 6f 63 | bco|py(&csoc|
|000132d0| 6b 2d 3e 73 69 6e 5f 61 | 64 64 72 2c 26 63 6c 74 |k->sin_a|ddr,&clt|
|000132e0| 70 74 72 2d 3e 63 6c 6e | 74 5f 61 64 64 72 2e 61 |ptr->cln|t_addr.a|
|000132f0| 64 64 72 2c 34 29 3b 0a | 20 20 20 20 20 20 0a 20 |ddr,4);.| . |
|00013300| 20 20 20 20 20 20 20 20 | 20 63 6c 74 70 74 72 2d | | cltptr-|
|00013310| 3e 63 6c 6e 74 5f 6e 70 | 74 72 20 3d 20 63 68 65 |>clnt_np|tr = che|
|00013320| 61 64 3b 0a 20 20 20 20 | 20 20 20 20 20 20 63 68 |ad;. | ch|
|00013330| 65 61 64 20 3d 20 63 6c | 74 70 74 72 3b 0a 0a 09 |ead = cl|tptr;...|
|00013340| 20 20 72 65 66 31 5f 6f | 72 69 67 69 6e 5f 63 6e | ref1_o|rigin_cn|
|00013350| 74 2b 2b 3b 0a 0a 20 20 | 20 20 20 20 20 20 20 20 |t++;.. | |
|00013360| 63 70 74 72 20 3d 20 28 | 28 63 68 61 72 20 2a 29 |cptr = (|(char *)|
|00013370| 20 76 69 64 70 74 72 20 | 2b 20 48 45 41 44 45 52 | vidptr |+ HEADER|
|00013380| 4c 45 4e 29 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |LEN);. | |
|00013390| 75 70 64 61 74 65 5f 63 | 6c 69 65 6e 74 28 63 6c |update_c|lient(cl|
|000133a0| 74 70 74 72 2c 63 70 74 | 72 2c 46 41 4c 53 45 2c |tptr,cpt|r,FALSE,|
|000133b0| 46 41 4c 53 45 29 3b 0a | 0a 20 20 20 20 20 20 20 |FALSE);.|. |
|000133c0| 20 20 20 72 65 74 75 72 | 6e 28 63 6c 74 70 74 72 | retur|n(cltptr|
|000133d0| 29 3b 0a 0a 20 20 20 20 | 20 20 20 63 61 73 65 20 |);.. | case |
|000133e0| 52 45 46 32 5f 53 45 52 | 56 45 52 3a 20 20 20 0a |REF2_SER|VER: .|
|000133f0| 0a 20 20 20 20 20 20 20 | 20 20 20 64 6f 6c 6f 67 |. | dolog|
|00013400| 28 22 52 45 46 20 67 72 | 6f 75 70 20 73 65 72 76 |("REF gr|oup serv|
|00013410| 65 72 20 61 74 20 25 73 | 20 69 73 20 6f 70 65 6e |er at %s| is open|
|00013420| 69 6e 67 20 61 20 63 6f | 6e 6e 65 63 74 69 6f 6e |ing a co|nnection|
|00013430| 5c 6e 22 2c 20 69 6e 65 | 74 5f 6e 74 6f 61 28 63 |\n", ine|t_ntoa(c|
|00013440| 73 6f 63 6b 2d 3e 73 69 | 6e 5f 61 64 64 72 29 29 |sock->si|n_addr))|
|00013450| 3b 0a 0a 20 20 20 20 20 | 20 20 20 20 20 63 6c 74 |;.. | clt|
|00013460| 70 74 72 20 3d 20 28 63 | 6c 69 65 6e 74 20 2a 29 |ptr = (c|lient *)|
|00013470| 20 67 65 74 5f 63 6c 69 | 65 6e 74 28 29 3b 0a 20 | get_cli|ent();. |
|00013480| 20 20 20 20 20 20 20 20 | 20 63 6c 74 70 74 72 2d | | cltptr-|
|00013490| 3e 63 6c 6e 74 5f 61 64 | 64 72 2e 66 61 6d 69 6c |>clnt_ad|dr.famil|
|000134a0| 79 20 3d 20 41 46 5f 49 | 4e 45 54 3b 0a 20 20 20 |y = AF_I|NET;. |
|000134b0| 20 20 20 20 20 20 20 63 | 6c 74 70 74 72 2d 3e 63 | c|ltptr->c|
|000134c0| 6c 6e 74 5f 61 64 64 72 | 2e 70 6f 72 74 20 3d 20 |lnt_addr|.port = |
|000134d0| 76 69 64 70 74 72 2d 3e | 72 6f 75 74 69 6e 67 2e |vidptr->|routing.|
|000134e0| 73 72 63 2e 70 6f 72 74 | 3b 0a 20 20 20 20 20 20 |src.port|;. |
|000134f0| 20 20 20 20 63 6c 74 70 | 74 72 2d 3e 63 6c 6e 74 | cltp|tr->clnt|
|00013500| 5f 66 6c 61 67 73 20 7c | 3d 20 52 45 46 32 5f 53 |_flags ||= REF2_S|
|00013510| 45 52 56 45 52 3b 0a 20 | 20 20 20 20 20 20 20 20 |ERVER;. | |
|00013520| 20 62 63 6f 70 79 28 26 | 63 73 6f 63 6b 2d 3e 73 | bcopy(&|csock->s|
|00013530| 69 6e 5f 61 64 64 72 2c | 26 63 6c 74 70 74 72 2d |in_addr,|&cltptr-|
|00013540| 3e 63 6c 6e 74 5f 61 64 | 64 72 2e 61 64 64 72 2c |>clnt_ad|dr.addr,|
|00013550| 34 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 73 74 |4);. | st|
|00013560| 72 63 70 79 28 63 6c 74 | 70 74 72 2d 3e 63 6c 6e |rcpy(clt|ptr->cln|
|00013570| 74 5f 63 6f 6e 66 69 67 | 2e 6e 61 6d 65 2c 22 47 |t_config|.name,"G|
|00013580| 72 6f 75 70 20 52 45 46 | 22 29 3b 0a 0a 20 20 20 |roup REF|");.. |
|00013590| 20 20 20 20 20 20 20 63 | 6c 74 70 74 72 2d 3e 63 | c|ltptr->c|
|000135a0| 6c 6e 74 5f 6e 70 74 72 | 20 3d 20 63 68 65 61 64 |lnt_nptr| = chead|
|000135b0| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 63 68 65 61 |;. | chea|
|000135c0| 64 20 3d 20 63 6c 74 70 | 74 72 3b 0a 0a 09 20 20 |d = cltp|tr;... |
|000135d0| 72 65 66 32 5f 73 65 72 | 76 65 72 5f 63 6e 74 2b |ref2_ser|ver_cnt+|
|000135e0| 2b 3b 0a 0a 20 20 20 20 | 20 20 20 20 20 20 6f 70 |+;.. | op|
|000135f0| 65 6e 5f 63 6f 6e 6e 65 | 63 74 69 6f 6e 28 76 69 |en_conne|ction(vi|
|00013600| 64 70 74 72 2c 28 73 74 | 72 75 63 74 20 73 6f 63 |dptr,(st|ruct soc|
|00013610| 6b 61 64 64 72 5f 69 6e | 20 2a 29 20 26 76 69 64 |kaddr_in| *) &vid|
|00013620| 70 74 72 2d 3e 72 6f 75 | 74 69 6e 67 2e 73 72 63 |ptr->rou|ting.src|
|00013630| 2c 52 45 46 32 5f 4f 52 | 49 47 49 4e 29 3b 0a 20 |,REF2_OR|IGIN);. |
|00013640| 20 20 20 20 20 20 20 20 | 20 72 65 74 75 72 6e 28 | | return(|
|00013650| 63 6c 74 70 74 72 29 3b | 0a 0a 20 20 20 20 20 20 |cltptr);|.. |
|00013660| 20 63 61 73 65 20 52 45 | 46 32 5f 4f 52 49 47 49 | case RE|F2_ORIGI|
|00013670| 4e 3a 0a 0a 20 20 20 20 | 20 20 20 20 20 20 64 6f |N:.. | do|
|00013680| 6c 6f 67 28 22 52 45 46 | 20 67 72 6f 75 70 20 73 |log("REF| group s|
|00013690| 65 72 76 65 72 27 73 20 | 63 6c 69 65 6e 74 20 61 |erver's |client a|
|000136a0| 74 20 25 73 20 69 73 20 | 6f 70 65 6e 69 6e 67 20 |t %s is |opening |
|000136b0| 61 20 63 6f 6e 6e 65 63 | 74 69 6f 6e 5c 6e 22 2c |a connec|tion\n",|
|000136c0| 20 69 6e 65 74 5f 6e 74 | 6f 61 28 63 73 6f 63 6b | inet_nt|oa(csock|
|000136d0| 2d 3e 73 69 6e 5f 61 64 | 64 72 29 29 3b 0a 0a 20 |->sin_ad|dr));.. |
|000136e0| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 28 63 6c | | if ((cl|
|000136f0| 69 65 6e 74 5f 69 64 20 | 3d 20 67 65 74 5f 63 6c |ient_id |= get_cl|
|00013700| 69 65 6e 74 5f 69 64 28 | 29 29 20 3d 3d 20 2d 31 |ient_id(|)) == -1|
|00013710| 29 0a 20 20 20 20 20 20 | 20 20 20 20 7b 0a 20 20 |). | {. |
|00013720| 20 20 20 20 20 20 20 20 | 20 20 20 64 6f 6c 6f 67 | | dolog|
|00013730| 28 22 6d 61 78 69 6d 75 | 6d 20 23 20 6f 66 20 63 |("maximu|m # of c|
|00013740| 6c 69 65 6e 74 73 20 65 | 78 63 65 65 64 65 64 5c |lients e|xceeded\|
|00013750| 6e 22 29 3b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |n");. | |
|00013760| 20 20 72 65 74 75 72 6e | 28 4e 55 4c 4c 29 3b 0a | return|(NULL);.|
|00013770| 20 20 20 20 20 20 20 20 | 20 20 7d 0a 0a 20 20 20 | | }.. |
|00013780| 20 20 20 20 20 20 20 63 | 6c 74 70 74 72 20 3d 20 | c|ltptr = |
|00013790| 28 63 6c 69 65 6e 74 20 | 2a 29 20 67 65 74 5f 63 |(client |*) get_c|
|000137a0| 6c 69 65 6e 74 28 29 3b | 0a 20 20 20 20 20 20 20 |lient();|. |
|000137b0| 20 20 20 63 6c 74 70 74 | 72 2d 3e 63 6c 6e 74 5f | cltpt|r->clnt_|
|000137c0| 61 64 64 72 2e 66 61 6d | 69 6c 79 20 3d 20 41 46 |addr.fam|ily = AF|
|000137d0| 5f 49 4e 45 54 3b 0a 20 | 20 20 20 20 20 20 20 20 |_INET;. | |
|000137e0| 20 63 6c 74 70 74 72 2d | 3e 63 6c 6e 74 5f 61 64 | cltptr-|>clnt_ad|
|000137f0| 64 72 2e 70 6f 72 74 20 | 3d 20 76 69 64 70 74 72 |dr.port |= vidptr|
|00013800| 2d 3e 72 6f 75 74 69 6e | 67 2e 73 72 63 2e 70 6f |->routin|g.src.po|
|00013810| 72 74 3b 0a 20 20 20 20 | 20 20 20 20 20 20 63 6c |rt;. | cl|
|00013820| 74 70 74 72 2d 3e 63 6c | 6e 74 5f 66 6c 61 67 73 |tptr->cl|nt_flags|
|00013830| 20 7c 3d 20 52 45 46 32 | 5f 4f 52 49 47 49 4e 3b | |= REF2|_ORIGIN;|
|00013840| 0a 20 20 20 20 20 20 20 | 20 20 20 63 6c 74 70 74 |. | cltpt|
|00013850| 72 2d 3e 63 6c 6e 74 5f | 69 64 20 3d 20 63 6c 69 |r->clnt_|id = cli|
|00013860| 65 6e 74 5f 69 64 3b 0a | 20 20 20 20 20 20 20 20 |ent_id;.| |
|00013870| 20 20 62 63 6f 70 79 28 | 26 63 73 6f 63 6b 2d 3e | bcopy(|&csock->|
|00013880| 73 69 6e 5f 61 64 64 72 | 2c 26 63 6c 74 70 74 72 |sin_addr|,&cltptr|
|00013890| 2d 3e 63 6c 6e 74 5f 61 | 64 64 72 2e 61 64 64 72 |->clnt_a|ddr.addr|
|000138a0| 2c 34 29 3b 0a 0a 20 20 | 20 20 20 20 20 20 20 20 |,4);.. | |
|000138b0| 63 6c 74 70 74 72 2d 3e | 63 6c 6e 74 5f 6e 70 74 |cltptr->|clnt_npt|
|000138c0| 72 20 3d 20 63 68 65 61 | 64 3b 0a 20 20 20 20 20 |r = chea|d;. |
|000138d0| 20 20 20 20 20 63 68 65 | 61 64 20 3d 20 63 6c 74 | che|ad = clt|
|000138e0| 70 74 72 3b 0a 20 20 20 | 20 20 20 0a 09 20 20 72 |ptr;. | .. r|
|000138f0| 65 66 32 5f 6f 72 69 67 | 69 6e 5f 63 6e 74 2b 2b |ef2_orig|in_cnt++|
|00013900| 3b 0a 0a 20 20 20 20 20 | 20 20 20 20 20 63 70 74 |;.. | cpt|
|00013910| 72 20 3d 20 28 28 63 68 | 61 72 20 2a 29 20 76 69 |r = ((ch|ar *) vi|
|00013920| 64 70 74 72 20 2b 20 48 | 45 41 44 45 52 4c 45 4e |dptr + H|EADERLEN|
|00013930| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 75 70 64 |);. | upd|
|00013940| 61 74 65 5f 63 6c 69 65 | 6e 74 28 63 6c 74 70 74 |ate_clie|nt(cltpt|
|00013950| 72 2c 63 70 74 72 2c 46 | 41 4c 53 45 2c 46 41 4c |r,cptr,F|ALSE,FAL|
|00013960| 53 45 29 3b 0a 20 20 20 | 20 20 20 20 20 20 20 72 |SE);. | r|
|00013970| 65 74 75 72 6e 28 63 6c | 74 70 74 72 29 3b 0a 0a |eturn(cl|tptr);..|
|00013980| 20 20 20 20 20 20 20 63 | 61 73 65 20 52 45 46 33 | c|ase REF3|
|00013990| 5f 53 45 52 56 45 52 3a | 20 20 20 0a 0a 20 20 20 |_SERVER:| .. |
|000139a0| 20 20 20 20 20 20 20 64 | 6f 6c 6f 67 28 22 52 45 | d|olog("RE|
|000139b0| 46 20 75 6e 69 63 61 73 | 74 20 67 72 6f 75 70 20 |F unicas|t group |
|000139c0| 73 65 72 76 65 72 20 61 | 74 20 25 73 20 69 73 20 |server a|t %s is |
|000139d0| 6f 70 65 6e 69 6e 67 20 | 61 20 63 6f 6e 6e 65 63 |opening |a connec|
|000139e0| 74 69 6f 6e 5c 6e 22 2c | 20 69 6e 65 74 5f 6e 74 |tion\n",| inet_nt|
|000139f0| 6f 61 28 63 73 6f 63 6b | 2d 3e 73 69 6e 5f 61 64 |oa(csock|->sin_ad|
|00013a00| 64 72 29 29 3b 0a 0a 20 | 20 20 20 20 20 20 20 20 |dr));.. | |
|00013a10| 20 63 6c 74 70 74 72 20 | 3d 20 28 63 6c 69 65 6e | cltptr |= (clien|
|00013a20| 74 20 2a 29 20 67 65 74 | 5f 63 6c 69 65 6e 74 28 |t *) get|_client(|
|00013a30| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 63 6c 74 |);. | clt|
|00013a40| 70 74 72 2d 3e 63 6c 6e | 74 5f 61 64 64 72 2e 66 |ptr->cln|t_addr.f|
|00013a50| 61 6d 69 6c 79 20 3d 20 | 41 46 5f 49 4e 45 54 3b |amily = |AF_INET;|
|00013a60| 0a 20 20 20 20 20 20 20 | 20 20 20 63 6c 74 70 74 |. | cltpt|
|00013a70| 72 2d 3e 63 6c 6e 74 5f | 61 64 64 72 2e 70 6f 72 |r->clnt_|addr.por|
|00013a80| 74 20 3d 20 76 69 64 70 | 74 72 2d 3e 72 6f 75 74 |t = vidp|tr->rout|
|00013a90| 69 6e 67 2e 73 72 63 2e | 70 6f 72 74 3b 0a 20 20 |ing.src.|port;. |
|00013aa0| 20 20 20 20 20 20 20 20 | 63 6c 74 70 74 72 2d 3e | |cltptr->|
|00013ab0| 63 6c 6e 74 5f 66 6c 61 | 67 73 20 7c 3d 20 52 45 |clnt_fla|gs |= RE|
|00013ac0| 46 33 5f 53 45 52 56 45 | 52 3b 0a 20 20 20 20 20 |F3_SERVE|R;. |
|00013ad0| 20 20 20 20 20 62 63 6f | 70 79 28 26 63 73 6f 63 | bco|py(&csoc|
|00013ae0| 6b 2d 3e 73 69 6e 5f 61 | 64 64 72 2c 26 63 6c 74 |k->sin_a|ddr,&clt|
|00013af0| 70 74 72 2d 3e 63 6c 6e | 74 5f 61 64 64 72 2e 61 |ptr->cln|t_addr.a|
|00013b00| 64 64 72 2c 34 29 3b 0a | 20 20 20 20 20 20 20 20 |ddr,4);.| |
|00013b10| 20 20 73 74 72 63 70 79 | 28 63 6c 74 70 74 72 2d | strcpy|(cltptr-|
|00013b20| 3e 63 6c 6e 74 5f 63 6f | 6e 66 69 67 2e 6e 61 6d |>clnt_co|nfig.nam|
|00013b30| 65 2c 22 47 72 6f 75 70 | 20 55 6e 69 20 52 45 46 |e,"Group| Uni REF|
|00013b40| 22 29 3b 0a 0a 20 20 20 | 20 20 20 20 20 20 20 66 |");.. | f|
|00013b50| 6f 72 20 28 63 6e 74 3d | 30 3b 20 63 6e 74 3c 72 |or (cnt=|0; cnt<r|
|00013b60| 65 66 5f 75 63 61 73 74 | 5f 63 6e 74 3b 20 63 6e |ef_ucast|_cnt; cn|
|00013b70| 74 2b 2b 29 0a 20 20 20 | 20 20 20 20 20 20 20 20 |t++). | |
|00013b80| 20 20 69 66 20 28 72 65 | 66 5f 75 63 61 73 74 5f | if (re|f_ucast_|
|00013b90| 6c 69 73 74 5b 63 6e 74 | 5d 20 3d 3d 20 63 73 6f |list[cnt|] == cso|
|00013ba0| 63 6b 2d 3e 73 69 6e 5f | 61 64 64 72 2e 73 5f 61 |ck->sin_|addr.s_a|
|00013bb0| 64 64 72 29 0a 09 20 20 | 20 20 20 7b 0a 20 20 20 |ddr).. | {. |
|00013bc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 63 6c 74 | | clt|
|00013bd0| 70 74 72 2d 3e 63 6c 6e | 74 5f 69 64 20 3d 20 63 |ptr->cln|t_id = c|
|00013be0| 6e 74 3b 0a 09 09 62 72 | 65 61 6b 3b 0a 09 20 20 |nt;...br|eak;.. |
|00013bf0| 20 20 20 7d 20 0a 0a 20 | 20 20 20 20 20 20 20 20 | } .. | |
|00013c00| 20 63 6c 74 70 74 72 2d | 3e 63 6c 6e 74 5f 6e 70 | cltptr-|>clnt_np|
|00013c10| 74 72 20 3d 20 63 68 65 | 61 64 3b 0a 20 20 20 20 |tr = che|ad;. |
|00013c20| 20 20 20 20 20 20 63 68 | 65 61 64 20 3d 20 63 6c | ch|ead = cl|
|00013c30| 74 70 74 72 3b 0a 0a 09 | 20 20 72 65 66 33 5f 73 |tptr;...| ref3_s|
|00013c40| 65 72 76 65 72 5f 63 6e | 74 2b 2b 3b 0a 0a 20 20 |erver_cn|t++;.. |
|00013c50| 20 20 20 20 20 20 20 20 | 72 65 74 75 72 6e 28 63 | |return(c|
|00013c60| 6c 74 70 74 72 29 3b 0a | 0a 20 20 20 20 20 20 20 |ltptr);.|. |
|00013c70| 63 61 73 65 20 52 45 46 | 33 5f 4f 52 49 47 49 4e |case REF|3_ORIGIN|
|00013c80| 3a 0a 0a 20 20 20 20 20 | 20 20 20 20 20 64 6f 6c |:.. | dol|
|00013c90| 6f 67 28 22 52 45 46 20 | 75 6e 69 63 61 73 74 20 |og("REF |unicast |
|00013ca0| 67 72 6f 75 70 20 73 65 | 72 76 65 72 27 73 20 63 |group se|rver's c|
|00013cb0| 6c 69 65 6e 74 20 61 74 | 20 25 73 20 69 73 20 6f |lient at| %s is o|
|00013cc0| 70 65 6e 69 6e 67 20 61 | 20 63 6f 6e 6e 65 63 74 |pening a| connect|
|00013cd0| 69 6f 6e 5c 6e 22 2c 20 | 69 6e 65 74 5f 6e 74 6f |ion\n", |inet_nto|
|00013ce0| 61 28 63 73 6f 63 6b 2d | 3e 73 69 6e 5f 61 64 64 |a(csock-|>sin_add|
|00013cf0| 72 29 29 3b 0a 0a 20 20 | 20 20 20 20 20 20 20 20 |r));.. | |
|00013d00| 69 66 20 28 28 63 6c 69 | 65 6e 74 5f 69 64 20 3d |if ((cli|ent_id =|
|00013d10| 20 67 65 74 5f 63 6c 69 | 65 6e 74 5f 69 64 28 29 | get_cli|ent_id()|
|00013d20| 29 20 3d 3d 20 2d 31 29 | 0a 20 20 20 20 20 20 20 |) == -1)|. |
|00013d30| 20 20 20 7b 0a 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00013d40| 20 20 64 6f 6c 6f 67 28 | 22 6d 61 78 69 6d 75 6d | dolog(|"maximum|
|00013d50| 20 23 20 6f 66 20 63 6c | 69 65 6e 74 73 20 65 78 | # of cl|ients ex|
|00013d60| 63 65 65 64 65 64 5c 6e | 22 29 3b 0a 20 20 20 20 |ceeded\n|");. |
|00013d70| 20 20 20 20 20 20 20 20 | 20 72 65 74 75 72 6e 28 | | return(|
|00013d80| 4e 55 4c 4c 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |NULL);. | |
|00013d90| 20 7d 0a 0a 20 20 20 20 | 20 20 20 20 20 20 63 6c | }.. | cl|
|00013da0| 74 70 74 72 20 3d 20 28 | 63 6c 69 65 6e 74 20 2a |tptr = (|client *|
|00013db0| 29 20 67 65 74 5f 63 6c | 69 65 6e 74 28 29 3b 0a |) get_cl|ient();.|
|00013dc0| 20 20 20 20 20 20 20 20 | 20 20 63 6c 74 70 74 72 | | cltptr|
|00013dd0| 2d 3e 63 6c 6e 74 5f 61 | 64 64 72 2e 66 61 6d 69 |->clnt_a|ddr.fami|
|00013de0| 6c 79 20 3d 20 41 46 5f | 49 4e 45 54 3b 0a 20 20 |ly = AF_|INET;. |
|00013df0| 20 20 20 20 20 20 20 20 | 63 6c 74 70 74 72 2d 3e | |cltptr->|
|00013e00| 63 6c 6e 74 5f 61 64 64 | 72 2e 70 6f 72 74 20 3d |clnt_add|r.port =|
|00013e10| 20 76 69 64 70 74 72 2d | 3e 72 6f 75 74 69 6e 67 | vidptr-|>routing|
|00013e20| 2e 73 72 63 2e 70 6f 72 | 74 3b 0a 20 20 20 20 20 |.src.por|t;. |
|00013e30| 20 20 20 20 20 63 6c 74 | 70 74 72 2d 3e 63 6c 6e | clt|ptr->cln|
|00013e40| 74 5f 66 6c 61 67 73 20 | 7c 3d 20 52 45 46 33 5f |t_flags ||= REF3_|
|00013e50| 4f 52 49 47 49 4e 3b 0a | 20 20 20 20 20 20 20 20 |ORIGIN;.| |
|00013e60| 20 20 63 6c 74 70 74 72 | 2d 3e 63 6c 6e 74 5f 69 | cltptr|->clnt_i|
|00013e70| 64 20 3d 20 63 6c 69 65 | 6e 74 5f 69 64 3b 0a 20 |d = clie|nt_id;. |
|00013e80| 20 20 20 20 20 20 20 20 | 20 62 63 6f 70 79 28 26 | | bcopy(&|
|00013e90| 63 73 6f 63 6b 2d 3e 73 | 69 6e 5f 61 64 64 72 2c |csock->s|in_addr,|
|00013ea0| 26 63 6c 74 70 74 72 2d | 3e 63 6c 6e 74 5f 61 64 |&cltptr-|>clnt_ad|
|00013eb0| 64 72 2e 61 64 64 72 2c | 34 29 3b 0a 0a 20 20 20 |dr.addr,|4);.. |
|00013ec0| 20 20 20 20 20 20 20 63 | 6c 74 70 74 72 2d 3e 63 | c|ltptr->c|
|00013ed0| 6c 6e 74 5f 6e 70 74 72 | 20 3d 20 63 68 65 61 64 |lnt_nptr| = chead|
|00013ee0| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 63 68 65 61 |;. | chea|
|00013ef0| 64 20 3d 20 63 6c 74 70 | 74 72 3b 0a 20 20 20 20 |d = cltp|tr;. |
|00013f00| 20 20 0a 09 20 20 72 65 | 66 33 5f 6f 72 69 67 69 | .. re|f3_origi|
|00013f10| 6e 5f 63 6e 74 2b 2b 3b | 0a 0a 20 20 20 20 20 20 |n_cnt++;|.. |
|00013f20| 20 20 20 20 63 70 74 72 | 20 3d 20 28 28 63 68 61 | cptr| = ((cha|
|00013f30| 72 20 2a 29 20 76 69 64 | 70 74 72 20 2b 20 48 45 |r *) vid|ptr + HE|
|00013f40| 41 44 45 52 4c 45 4e 29 | 3b 0a 20 20 20 20 20 20 |ADERLEN)|;. |
|00013f50| 20 20 20 20 75 70 64 61 | 74 65 5f 63 6c 69 65 6e | upda|te_clien|
|00013f60| 74 28 63 6c 74 70 74 72 | 2c 63 70 74 72 2c 46 41 |t(cltptr|,cptr,FA|
|00013f70| 4c 53 45 2c 46 41 4c 53 | 45 29 3b 0a 20 20 20 20 |LSE,FALS|E);. |
|00013f80| 20 20 20 20 20 20 72 65 | 74 75 72 6e 28 63 6c 74 | re|turn(clt|
|00013f90| 70 74 72 29 3b 0a 0a 0a | 20 20 20 20 20 20 20 63 |ptr);...| c|
|00013fa0| 61 73 65 20 43 4c 49 45 | 4e 54 3a 0a 20 20 20 20 |ase CLIE|NT:. |
|00013fb0| 20 20 20 20 20 20 64 6f | 6c 6f 67 28 22 43 6c 69 | do|log("Cli|
|00013fc0| 65 6e 74 20 61 74 20 25 | 73 20 69 73 20 6f 70 65 |ent at %|s is ope|
|00013fd0| 6e 69 6e 67 20 61 20 63 | 6f 6e 6e 65 63 74 69 6f |ning a c|onnectio|
|00013fe0| 6e 5c 6e 22 2c 20 69 6e | 65 74 5f 6e 74 6f 61 28 |n\n", in|et_ntoa(|
|00013ff0| 63 73 6f 63 6b 2d 3e 73 | 69 6e 5f 61 64 64 72 29 |csock->s|in_addr)|
|00014000| 29 3b 0a 0a 20 20 20 20 | 20 20 20 20 20 20 69 66 |);.. | if|
|00014010| 20 28 28 63 6c 69 65 6e | 74 5f 69 64 20 3d 20 67 | ((clien|t_id = g|
|00014020| 65 74 5f 63 6c 69 65 6e | 74 5f 69 64 28 29 29 20 |et_clien|t_id()) |
|00014030| 3d 3d 20 2d 31 29 0a 20 | 20 20 20 20 20 20 20 20 |== -1). | |
|00014040| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00014050| 64 6f 6c 6f 67 28 22 6d | 61 78 69 6d 75 6d 20 23 |dolog("m|aximum #|
|00014060| 20 6f 66 20 63 6c 69 65 | 6e 74 73 20 65 78 63 65 | of clie|nts exce|
|00014070| 65 64 65 64 5c 6e 22 29 | 3b 0a 20 20 20 20 20 20 |eded\n")|;. |
|00014080| 20 20 20 20 20 20 20 72 | 65 74 75 72 6e 28 4e 55 | r|eturn(NU|
|00014090| 4c 4c 29 3b 0a 20 20 20 | 20 20 20 20 20 20 20 7d |LL);. | }|
|000140a0| 0a 20 20 20 20 20 20 0a | 20 20 20 20 20 20 20 20 |. .| |
|000140b0| 20 20 63 6c 74 70 74 72 | 20 3d 20 28 63 6c 69 65 | cltptr| = (clie|
|000140c0| 6e 74 20 2a 29 20 67 65 | 74 5f 63 6c 69 65 6e 74 |nt *) ge|t_client|
|000140d0| 28 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 63 6c |();. | cl|
|000140e0| 74 70 74 72 2d 3e 63 6c | 6e 74 5f 61 64 64 72 2e |tptr->cl|nt_addr.|
|000140f0| 66 61 6d 69 6c 79 20 3d | 20 41 46 5f 49 4e 45 54 |family =| AF_INET|
|00014100| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 63 6c 74 70 |;. | cltp|
|00014110| 74 72 2d 3e 63 6c 6e 74 | 5f 61 64 64 72 2e 70 6f |tr->clnt|_addr.po|
|00014120| 72 74 20 3d 20 76 69 64 | 70 74 72 2d 3e 72 6f 75 |rt = vid|ptr->rou|
|00014130| 74 69 6e 67 2e 73 72 63 | 2e 70 6f 72 74 3b 0a 20 |ting.src|.port;. |
|00014140| 20 20 20 20 20 20 20 20 | 20 63 6c 74 70 74 72 2d | | cltptr-|
|00014150| 3e 63 6c 6e 74 5f 66 6c | 61 67 73 20 7c 3d 20 43 |>clnt_fl|ags |= C|
|00014160| 4c 49 45 4e 54 3b 0a 20 | 20 20 20 20 20 20 20 20 |LIENT;. | |
|00014170| 20 63 6c 74 70 74 72 2d | 3e 63 6c 6e 74 5f 69 64 | cltptr-|>clnt_id|
|00014180| 20 3d 20 63 6c 69 65 6e | 74 5f 69 64 3b 0a 09 20 | = clien|t_id;.. |
|00014190| 20 63 6c 74 70 74 72 2d | 3e 63 6c 6e 74 5f 63 6f | cltptr-|>clnt_co|
|000141a0| 6e 66 5f 69 64 20 3d 20 | 76 69 64 70 74 72 2d 3e |nf_id = |vidptr->|
|000141b0| 63 6f 6e 66 65 72 65 6e | 63 65 69 64 3b 0a 20 20 |conferen|ceid;. |
|000141c0| 20 20 20 20 20 20 20 20 | 62 63 6f 70 79 28 26 63 | |bcopy(&c|
|000141d0| 73 6f 63 6b 2d 3e 73 69 | 6e 5f 61 64 64 72 2c 26 |sock->si|n_addr,&|
|000141e0| 63 6c 74 70 74 72 2d 3e | 63 6c 6e 74 5f 61 64 64 |cltptr->|clnt_add|
|000141f0| 72 2e 61 64 64 72 2c 34 | 29 3b 0a 20 20 20 20 20 |r.addr,4|);. |
|00014200| 20 0a 20 20 20 20 20 20 | 20 20 20 20 63 6c 74 70 | . | cltp|
|00014210| 74 72 2d 3e 63 6c 6e 74 | 5f 6e 70 74 72 20 3d 20 |tr->clnt|_nptr = |
|00014220| 63 68 65 61 64 3b 0a 20 | 20 20 20 20 20 20 20 20 |chead;. | |
|00014230| 20 63 68 65 61 64 20 3d | 20 63 6c 74 70 74 72 3b | chead =| cltptr;|
|00014240| 0a 0a 09 20 20 63 6c 69 | 65 6e 74 5f 63 6e 74 2b |... cli|ent_cnt+|
|00014250| 2b 3b 0a 20 20 20 20 20 | 20 0a 20 20 20 20 20 20 |+;. | . |
|00014260| 20 20 20 20 63 70 74 72 | 20 3d 20 28 28 63 68 61 | cptr| = ((cha|
|00014270| 72 20 2a 29 20 76 69 64 | 70 74 72 20 2b 20 48 45 |r *) vid|ptr + HE|
|00014280| 41 44 45 52 4c 45 4e 29 | 3b 0a 20 20 20 20 20 20 |ADERLEN)|;. |
|00014290| 20 20 20 20 75 70 64 61 | 74 65 5f 63 6c 69 65 6e | upda|te_clien|
|000142a0| 74 28 63 6c 74 70 74 72 | 2c 63 70 74 72 2c 54 52 |t(cltptr|,cptr,TR|
|000142b0| 55 45 2c 54 52 55 45 29 | 3b 0a 0a 09 20 20 69 66 |UE,TRUE)|;... if|
|000142c0| 20 28 63 6c 69 65 6e 74 | 5f 63 6e 74 20 3e 3d 20 | (client|_cnt >= |
|000142d0| 6d 61 78 61 6c 6c 6f 77 | 65 64 29 0a 09 20 20 7b |maxallow|ed).. {|
|000142e0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 77 72 |. | wr|
|000142f0| 69 74 65 5f 6d 73 67 28 | 26 63 6c 74 70 74 72 2d |ite_msg(|&cltptr-|
|00014300| 3e 63 6c 6e 74 5f 61 64 | 64 72 2c 6b 4d 65 73 73 |>clnt_ad|dr,kMess|
|00014310| 61 67 65 54 79 70 65 31 | 2c 6d 70 5f 62 75 66 29 |ageType1|,mp_buf)|
|00014320| 3b 0a 09 20 20 20 20 20 | 64 65 6c 65 74 65 5f 63 |;.. |delete_c|
|00014330| 6c 69 65 6e 74 28 63 6c | 74 70 74 72 29 3b 0a 20 |lient(cl|tptr);. |
|00014340| 20 20 20 20 20 20 20 20 | 20 20 20 20 72 65 74 75 | | retu|
|00014350| 72 6e 28 4e 55 4c 4c 29 | 3b 0a 09 20 20 7d 0a 0a |rn(NULL)|;.. }..|
|00014360| 09 20 20 69 66 20 28 6d | 6f 74 64 5f 6c 65 6e 20 |. if (m|otd_len |
|00014370| 21 3d 20 30 29 0a 09 20 | 20 20 20 20 77 72 69 74 |!= 0).. | writ|
|00014380| 65 5f 6d 73 67 28 26 63 | 6c 74 70 74 72 2d 3e 63 |e_msg(&c|ltptr->c|
|00014390| 6c 6e 74 5f 61 64 64 72 | 2c 6b 4d 65 73 73 61 67 |lnt_addr|,kMessag|
|000143a0| 65 54 79 70 65 32 2c 6d | 6f 74 64 5f 62 75 66 29 |eType2,m|otd_buf)|
|000143b0| 3b 0a 0a 20 20 20 20 20 | 20 20 20 20 20 72 65 74 |;.. | ret|
|000143c0| 75 72 6e 28 63 6c 74 70 | 74 72 29 3b 0a 20 20 20 |urn(cltp|tr);. |
|000143d0| 20 7d 0a 7d 0a 0a 63 6f | 6e 74 69 6e 75 65 5f 63 | }.}..co|ntinue_c|
|000143e0| 6f 6e 6e 65 63 74 69 6f | 6e 28 63 6c 74 70 74 72 |onnectio|n(cltptr|
|000143f0| 2c 76 69 64 70 74 72 29 | 0a 20 20 20 63 6c 69 65 |,vidptr)|. clie|
|00014400| 6e 74 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |nt | |
|00014410| 2a 63 6c 74 70 74 72 3b | 0a 20 20 20 56 69 64 65 |*cltptr;|. Vide|
|00014420| 6f 50 61 63 6b 65 74 48 | 65 61 64 65 72 20 20 20 |oPacketH|eader |
|00014430| 2a 76 69 64 70 74 72 3b | 0a 7b 0a 20 20 20 20 63 |*vidptr;|.{. c|
|00014440| 6c 69 65 6e 74 20 20 20 | 20 20 20 20 20 2a 63 74 |lient | *ct|
|00014450| 6d 70 3b 0a 20 20 20 20 | 63 68 61 72 20 20 20 20 |mp;. |char |
|00014460| 20 20 20 20 20 20 2a 63 | 70 74 72 3b 0a 20 20 20 | *c|ptr;. |
|00014470| 20 75 6e 73 69 67 6e 65 | 64 20 6c 6f 6e 67 20 73 | unsigne|d long s|
|00014480| 65 71 6e 75 6d 2c 64 69 | 66 66 3b 0a 20 20 20 20 |eqnum,di|ff;. |
|00014490| 73 68 6f 72 74 20 20 20 | 20 20 20 20 20 20 74 79 |short | ty|
|000144a0| 70 65 3b 0a 20 20 20 20 | 63 68 61 72 20 20 20 20 |pe;. |char |
|000144b0| 20 20 20 20 20 20 64 6f | 73 6c 69 73 74 3b 0a 0a | do|slist;..|
|000144c0| 20 20 20 20 69 66 20 28 | 63 6c 74 70 74 72 2d 3e | if (|cltptr->|
|000144d0| 63 6c 6e 74 5f 66 6c 61 | 67 73 20 26 20 43 4c 49 |clnt_fla|gs & CLI|
|000144e0| 45 4e 54 29 0a 20 20 20 | 20 7b 0a 20 20 20 20 20 |ENT). | {. |
|000144f0| 20 20 63 70 74 72 20 3d | 20 28 28 63 68 61 72 20 | cptr =| ((char |
|00014500| 2a 29 76 69 64 70 74 72 | 20 2b 20 48 45 41 44 45 |*)vidptr| + HEADE|
|00014510| 52 4c 45 4e 29 3b 0a 20 | 20 20 20 20 20 20 73 65 |RLEN);. | se|
|00014520| 71 6e 75 6d 20 3d 20 6e | 74 6f 68 6c 28 2a 28 28 |qnum = n|tohl(*((|
|00014530| 75 6e 73 69 67 6e 65 64 | 20 6c 6f 6e 67 20 2a 29 |unsigned| long *)|
|00014540| 20 28 63 70 74 72 20 2b | 20 32 29 29 29 3b 0a 20 | (cptr +| 2)));. |
|00014550| 20 20 20 20 20 20 0a 20 | 20 20 20 20 20 20 64 69 | . | di|
|00014560| 66 66 20 3d 20 73 65 71 | 6e 75 6d 20 2d 20 63 6c |ff = seq|num - cl|
|00014570| 74 70 74 72 2d 3e 63 6c | 6e 74 5f 63 6f 6e 66 69 |tptr->cl|nt_confi|
|00014580| 67 2e 73 65 71 4e 75 6d | 3b 0a 20 20 20 20 20 20 |g.seqNum|;. |
|00014590| 20 69 66 20 28 64 69 66 | 66 20 3d 3d 20 31 29 0a | if (dif|f == 1).|
|000145a0| 20 20 20 20 20 20 20 20 | 20 20 75 70 64 61 74 65 | | update|
|000145b0| 5f 63 6c 69 65 6e 74 28 | 63 6c 74 70 74 72 2c 63 |_client(|cltptr,c|
|000145c0| 70 74 72 2c 54 52 55 45 | 2c 46 41 4c 53 45 29 3b |ptr,TRUE|,FALSE);|
|000145d0| 0a 20 20 20 20 20 20 20 | 65 6c 73 65 0a 09 20 20 |. |else.. |
|000145e0| 69 66 20 28 64 69 66 66 | 20 3e 20 31 29 0a 20 20 |if (diff| > 1). |
|000145f0| 20 20 20 20 20 20 20 20 | 20 20 20 75 70 64 61 74 | | updat|
|00014600| 65 5f 63 6c 69 65 6e 74 | 28 63 6c 74 70 74 72 2c |e_client|(cltptr,|
|00014610| 63 70 74 72 2c 54 52 55 | 45 2c 54 52 55 45 29 3b |cptr,TRU|E,TRUE);|
|00014620| 0a 0a 20 20 20 20 20 20 | 20 69 66 20 28 63 6c 74 |.. | if (clt|
|00014630| 70 74 72 2d 3e 63 6c 6e | 74 5f 73 74 69 6d 65 72 |ptr->cln|t_stimer|
|00014640| 20 3e 3d 20 41 43 4b 4f | 50 45 4e 29 0a 20 20 20 | >= ACKO|PEN). |
|00014650| 20 20 20 20 7b 0a 23 69 | 66 64 65 66 20 44 45 42 | {.#i|fdef DEB|
|00014660| 55 47 0a 20 20 20 20 20 | 20 20 20 20 20 69 66 20 |UG. | if |
|00014670| 28 64 65 62 75 67 29 0a | 20 20 20 20 20 20 20 20 |(debug).| |
|00014680| 20 20 20 20 20 70 72 69 | 6e 74 66 28 22 41 43 4b | pri|ntf("ACK|
|00014690| 20 74 69 6d 65 6f 75 74 | 20 73 65 6e 64 69 6e 67 | timeout| sending|
|000146a0| 20 6f 70 65 6e 20 61 63 | 6b 20 74 6f 20 25 73 5c | open ac|k to %s\|
|000146b0| 6e 22 2c 63 6c 74 70 74 | 72 2d 3e 63 6c 6e 74 5f |n",cltpt|r->clnt_|
|000146c0| 63 6f 6e 66 69 67 2e 6e | 61 6d 65 29 3b 0a 23 65 |config.n|ame);.#e|
|000146d0| 6e 64 69 66 0a 20 20 20 | 20 20 20 20 20 20 20 77 |ndif. | w|
|000146e0| 72 69 74 65 5f 63 6d 73 | 67 28 6b 47 6f 74 4f 70 |rite_cms|g(kGotOp|
|000146f0| 65 6e 2c 63 6c 74 70 74 | 72 29 3b 0a 20 20 20 20 |en,cltpt|r);. |
|00014700| 20 20 20 7d 0a 20 20 20 | 20 20 20 20 72 65 74 75 | }. | retu|
|00014710| 72 6e 3b 0a 20 20 20 20 | 7d 0a 0a 0a 20 20 20 20 |rn;. |}... |
|00014720| 69 66 20 28 63 6c 74 70 | 74 72 2d 3e 63 6c 6e 74 |if (cltp|tr->clnt|
|00014730| 5f 66 6c 61 67 73 20 26 | 20 42 43 43 5f 53 45 52 |_flags &| BCC_SER|
|00014740| 56 45 52 29 0a 20 20 20 | 20 7b 0a 20 20 20 20 20 |VER). | {. |
|00014750| 20 20 74 79 70 65 20 3d | 20 42 43 43 5f 4f 52 49 | type =| BCC_ORI|
|00014760| 47 49 4e 3b 0a 20 20 20 | 20 20 20 20 64 6f 73 6c |GIN;. | dosl|
|00014770| 69 73 74 20 3d 20 46 41 | 4c 53 45 3b 0a 20 20 20 |ist = FA|LSE;. |
|00014780| 20 7d 0a 20 20 20 20 65 | 6c 73 65 0a 20 20 20 20 | }. e|lse. |
|00014790| 69 66 20 28 63 6c 74 70 | 74 72 2d 3e 63 6c 6e 74 |if (cltp|tr->clnt|
|000147a0| 5f 66 6c 61 67 73 20 26 | 20 52 45 46 31 5f 53 45 |_flags &| REF1_SE|
|000147b0| 52 56 45 52 29 0a 20 20 | 20 20 7b 0a 20 20 20 20 |RVER). | {. |
|000147c0| 20 20 20 74 79 70 65 20 | 3d 20 52 45 46 31 5f 4f | type |= REF1_O|
|000147d0| 52 49 47 49 4e 3b 0a 20 | 20 20 20 20 20 20 64 6f |RIGIN;. | do|
|000147e0| 73 6c 69 73 74 20 3d 20 | 46 41 4c 53 45 3b 0a 20 |slist = |FALSE;. |
|000147f0| 20 20 20 7d 0a 20 20 20 | 20 65 6c 73 65 0a 20 20 | }. | else. |
|00014800| 20 20 69 66 20 28 63 6c | 74 70 74 72 2d 3e 63 6c | if (cl|tptr->cl|
|00014810| 6e 74 5f 66 6c 61 67 73 | 20 26 20 52 45 46 32 5f |nt_flags| & REF2_|
|00014820| 53 45 52 56 45 52 29 0a | 20 20 20 20 7b 0a 20 20 |SERVER).| {. |
|00014830| 20 20 20 20 20 74 79 70 | 65 20 3d 20 52 45 46 32 | typ|e = REF2|
|00014840| 5f 4f 52 49 47 49 4e 3b | 0a 20 20 20 20 20 20 20 |_ORIGIN;|. |
|00014850| 64 6f 73 6c 69 73 74 20 | 3d 20 54 52 55 45 3b 0a |doslist |= TRUE;.|
|00014860| 20 20 20 20 7d 0a 20 20 | 20 20 65 6c 73 65 0a 20 | }. | else. |
|00014870| 20 20 20 69 66 20 28 63 | 6c 74 70 74 72 2d 3e 63 | if (c|ltptr->c|
|00014880| 6c 6e 74 5f 66 6c 61 67 | 73 20 26 20 52 45 46 33 |lnt_flag|s & REF3|
|00014890| 5f 53 45 52 56 45 52 29 | 0a 20 20 20 20 7b 0a 20 |_SERVER)|. {. |
|000148a0| 20 20 20 20 20 20 74 79 | 70 65 20 3d 20 52 45 46 | ty|pe = REF|
|000148b0| 33 5f 4f 52 49 47 49 4e | 3b 0a 20 20 20 20 20 20 |3_ORIGIN|;. |
|000148c0| 20 64 6f 73 6c 69 73 74 | 20 3d 20 54 52 55 45 3b | doslist| = TRUE;|
|000148d0| 0a 20 20 20 20 7d 0a 20 | 20 20 20 65 6c 73 65 0a |. }. | else.|
|000148e0| 20 20 20 20 20 20 20 72 | 65 74 75 72 6e 3b 0a 0a | r|eturn;..|
|000148f0| 0a 20 20 20 20 69 66 20 | 28 28 63 74 6d 70 20 3d |. if |((ctmp =|
|00014900| 20 66 69 6e 64 5f 63 6c | 69 65 6e 74 28 76 69 64 | find_cl|ient(vid|
|00014910| 70 74 72 2d 3e 72 6f 75 | 74 69 6e 67 2e 73 72 63 |ptr->rou|ting.src|
|00014920| 2e 61 64 64 72 29 29 20 | 21 3d 20 4e 55 4c 4c 29 |.addr)) |!= NULL)|
|00014930| 0a 20 20 20 20 7b 0a 20 | 20 20 20 20 20 20 63 74 |. {. | ct|
|00014940| 6d 70 2d 3e 63 6c 6e 74 | 5f 72 74 69 6d 65 72 20 |mp->clnt|_rtimer |
|00014950| 3d 20 30 3b 0a 20 20 20 | 20 20 20 20 63 74 6d 70 |= 0;. | ctmp|
|00014960| 2d 3e 63 6c 6e 74 5f 66 | 6c 61 67 73 20 26 3d 20 |->clnt_f|lags &= |
|00014970| 7e 53 55 53 50 45 4e 44 | 3b 0a 0a 20 20 20 20 20 |~SUSPEND|;.. |
|00014980| 20 20 63 70 74 72 20 3d | 20 28 28 63 68 61 72 20 | cptr =| ((char |
|00014990| 2a 29 76 69 64 70 74 72 | 20 2b 20 48 45 41 44 45 |*)vidptr| + HEADE|
|000149a0| 52 4c 45 4e 29 3b 0a 20 | 20 20 20 20 20 20 73 65 |RLEN);. | se|
|000149b0| 71 6e 75 6d 20 3d 20 6e | 74 6f 68 6c 28 2a 28 28 |qnum = n|tohl(*((|
|000149c0| 75 6e 73 69 67 6e 65 64 | 20 6c 6f 6e 67 20 2a 29 |unsigned| long *)|
|000149d0| 20 28 63 70 74 72 20 2b | 20 32 29 29 29 3b 0a 20 | (cptr +| 2)));. |
|000149e0| 20 20 20 20 20 20 0a 20 | 20 20 20 20 20 20 64 69 | . | di|
|000149f0| 66 66 20 3d 20 73 65 71 | 6e 75 6d 20 2d 20 63 74 |ff = seq|num - ct|
|00014a00| 6d 70 2d 3e 63 6c 6e 74 | 5f 63 6f 6e 66 69 67 2e |mp->clnt|_config.|
|00014a10| 73 65 71 4e 75 6d 3b 0a | 20 20 20 20 20 20 20 69 |seqNum;.| i|
|00014a20| 66 20 28 64 69 66 66 20 | 3d 3d 20 31 29 0a 20 20 |f (diff |== 1). |
|00014a30| 20 20 20 20 20 20 20 20 | 75 70 64 61 74 65 5f 63 | |update_c|
|00014a40| 6c 69 65 6e 74 28 63 74 | 6d 70 2c 63 70 74 72 2c |lient(ct|mp,cptr,|
|00014a50| 64 6f 73 6c 69 73 74 2c | 46 41 4c 53 45 29 3b 0a |doslist,|FALSE);.|
|00014a60| 20 20 20 20 20 20 20 65 | 6c 73 65 0a 09 20 20 69 | e|lse.. i|
|00014a70| 66 20 28 64 69 66 66 20 | 3e 20 31 29 0a 20 20 20 |f (diff |> 1). |
|00014a80| 20 20 20 20 20 20 20 20 | 20 20 75 70 64 61 74 65 | | update|
|00014a90| 5f 63 6c 69 65 6e 74 28 | 63 74 6d 70 2c 63 70 74 |_client(|ctmp,cpt|
|00014aa0| 72 2c 64 6f 73 6c 69 73 | 74 2c 54 52 55 45 29 3b |r,doslis|t,TRUE);|
|00014ab0| 0a 20 20 20 20 7d 0a 20 | 20 20 20 65 6c 73 65 0a |. }. | else.|
|00014ac0| 20 20 20 20 20 20 20 69 | 66 20 28 28 63 74 6d 70 | i|f ((ctmp|
|00014ad0| 20 3d 20 6f 70 65 6e 5f | 63 6f 6e 6e 65 63 74 69 | = open_|connecti|
|00014ae0| 6f 6e 28 76 69 64 70 74 | 72 2c 28 73 74 72 75 63 |on(vidpt|r,(struc|
|00014af0| 74 20 73 6f 63 6b 61 64 | 64 72 5f 69 6e 20 2a 29 |t sockad|dr_in *)|
|00014b00| 20 26 76 69 64 70 74 72 | 2d 3e 72 6f 75 74 69 6e | &vidptr|->routin|
|00014b10| 67 2e 73 72 63 2c 74 79 | 70 65 29 29 20 21 3d 20 |g.src,ty|pe)) != |
|00014b20| 4e 55 4c 4c 29 0a 20 20 | 20 20 20 20 20 7b 0a 20 |NULL). | {. |
|00014b30| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 74 79 70 | | if (typ|
|00014b40| 65 20 3d 3d 20 52 45 46 | 33 5f 4f 52 49 47 49 4e |e == REF|3_ORIGIN|
|00014b50| 29 0a 09 20 20 20 20 20 | 63 74 6d 70 2d 3e 63 6c |).. |ctmp->cl|
|00014b60| 6e 74 5f 70 70 74 72 20 | 3d 20 63 6c 74 70 74 72 |nt_pptr |= cltptr|
|00014b70| 3b 0a 20 20 20 20 20 20 | 20 7d 0a 0a 20 20 20 20 |;. | }.. |
|00014b80| 20 0a 7d 0a 0a 64 65 6c | 65 74 65 5f 63 6c 69 65 | .}..del|ete_clie|
|00014b90| 6e 74 28 63 6c 74 70 74 | 72 29 0a 20 20 20 63 6c |nt(cltpt|r). cl|
|00014ba0| 69 65 6e 74 20 2a 63 6c | 74 70 74 72 3b 0a 7b 0a |ient *cl|tptr;.{.|
|00014bb0| 20 20 20 20 63 6c 69 65 | 6e 74 20 2a 63 74 6d 70 | clie|nt *ctmp|
|00014bc0| 3b 0a 20 20 20 20 73 6c | 69 73 74 20 20 2a 73 74 |;. sl|ist *st|
|00014bd0| 6d 70 2c 2a 73 74 6d 70 | 31 3b 0a 0a 20 20 20 20 |mp,*stmp|1;.. |
|00014be0| 64 6f 6c 6f 67 28 22 64 | 65 6c 65 74 69 6e 67 20 |dolog("d|eleting |
|00014bf0| 63 6c 69 65 6e 74 20 25 | 73 5c 6e 22 2c 63 6c 74 |client %|s\n",clt|
|00014c00| 70 74 72 2d 3e 63 6c 6e | 74 5f 63 6f 6e 66 69 67 |ptr->cln|t_config|
|00014c10| 2e 6e 61 6d 65 29 3b 0a | 0a 20 20 20 20 63 68 65 |.name);.|. che|
|00014c20| 61 64 20 3d 20 75 6e 6c | 69 6e 6b 5f 63 6c 69 65 |ad = unl|ink_clie|
|00014c30| 6e 74 28 63 68 65 61 64 | 2c 63 6c 74 70 74 72 29 |nt(chead|,cltptr)|
|00014c40| 3b 0a 0a 20 20 20 20 69 | 66 20 28 28 63 6c 74 70 |;.. i|f ((cltp|
|00014c50| 74 72 2d 3e 63 6c 6e 74 | 5f 66 6c 61 67 73 20 26 |tr->clnt|_flags &|
|00014c60| 20 44 45 4c 45 54 45 29 | 20 3d 3d 20 30 29 0a 20 | DELETE)| == 0). |
|00014c70| 20 20 20 7b 0a 20 20 20 | 20 20 20 20 64 6f 6c 6f | {. | dolo|
|00014c80| 67 28 22 64 65 6c 65 74 | 65 5f 63 6c 69 65 6e 74 |g("delet|e_client|
|00014c90| 3a 20 63 6c 69 65 6e 74 | 20 6e 6f 74 20 66 6f 75 |: client| not fou|
|00014ca0| 6e 64 5c 6e 22 29 3b 0a | 20 20 20 20 20 20 20 65 |nd\n");.| e|
|00014cb0| 78 69 74 28 2d 31 29 3b | 0a 20 20 20 20 7d 0a 0a |xit(-1);|. }..|
|00014cc0| 20 20 20 20 63 74 6d 70 | 20 3d 20 63 68 65 61 64 | ctmp| = chead|
|00014cd0| 3b 0a 20 20 20 20 77 68 | 69 6c 65 20 28 63 74 6d |;. wh|ile (ctm|
|00014ce0| 70 20 21 3d 20 4e 55 4c | 4c 29 0a 20 20 20 20 7b |p != NUL|L). {|
|00014cf0| 0a 20 20 20 20 20 20 20 | 63 74 6d 70 2d 3e 63 6c |. |ctmp->cl|
|00014d00| 6e 74 5f 76 6c 69 73 74 | 20 3d 20 75 6e 6c 69 6e |nt_vlist| = unlin|
|00014d10| 6b 5f 73 6c 69 73 74 28 | 63 74 6d 70 2d 3e 63 6c |k_slist(|ctmp->cl|
|00014d20| 6e 74 5f 76 6c 69 73 74 | 2c 63 6c 74 70 74 72 29 |nt_vlist|,cltptr)|
|00014d30| 3b 0a 20 20 20 20 20 20 | 20 63 74 6d 70 2d 3e 63 |;. | ctmp->c|
|00014d40| 6c 6e 74 5f 61 6c 69 73 | 74 20 3d 20 75 6e 6c 69 |lnt_alis|t = unli|
|00014d50| 6e 6b 5f 73 6c 69 73 74 | 28 63 74 6d 70 2d 3e 63 |nk_slist|(ctmp->c|
|00014d60| 6c 6e 74 5f 61 6c 69 73 | 74 2c 63 6c 74 70 74 72 |lnt_alis|t,cltptr|
|00014d70| 29 3b 0a 20 20 20 20 20 | 20 20 63 74 6d 70 20 3d |);. | ctmp =|
|00014d80| 20 63 74 6d 70 2d 3e 63 | 6c 6e 74 5f 6e 70 74 72 | ctmp->c|lnt_nptr|
|00014d90| 3b 0a 20 20 20 20 7d 0a | 0a 20 20 20 20 73 74 6d |;. }.|. stm|
|00014da0| 70 20 3d 20 63 6c 74 70 | 74 72 2d 3e 63 6c 6e 74 |p = cltp|tr->clnt|
|00014db0| 5f 76 6c 69 73 74 3b 0a | 20 20 20 20 77 68 69 6c |_vlist;.| whil|
|00014dc0| 65 20 28 73 74 6d 70 20 | 21 3d 20 4e 55 4c 4c 29 |e (stmp |!= NULL)|
|00014dd0| 0a 20 20 20 20 7b 0a 20 | 20 20 20 20 20 20 73 74 |. {. | st|
|00014de0| 6d 70 31 20 3d 20 73 74 | 6d 70 3b 0a 20 20 20 20 |mp1 = st|mp;. |
|00014df0| 20 20 20 73 74 6d 70 20 | 3d 20 73 74 6d 70 2d 3e | stmp |= stmp->|
|00014e00| 73 6e 64 5f 6e 70 74 72 | 3b 0a 20 20 20 20 20 20 |snd_nptr|;. |
|00014e10| 20 66 72 65 65 5f 73 6c | 69 73 74 28 73 74 6d 70 | free_sl|ist(stmp|
|00014e20| 31 29 3b 0a 20 20 20 20 | 7d 0a 0a 20 20 20 20 73 |1);. |}.. s|
|00014e30| 74 6d 70 20 3d 20 63 6c | 74 70 74 72 2d 3e 63 6c |tmp = cl|tptr->cl|
|00014e40| 6e 74 5f 61 6c 69 73 74 | 3b 0a 20 20 20 20 77 68 |nt_alist|;. wh|
|00014e50| 69 6c 65 20 28 73 74 6d | 70 20 21 3d 20 4e 55 4c |ile (stm|p != NUL|
|00014e60| 4c 29 0a 20 20 20 20 7b | 0a 20 20 20 20 20 20 20 |L). {|. |
|00014e70| 73 74 6d 70 31 20 3d 20 | 73 74 6d 70 3b 0a 20 20 |stmp1 = |stmp;. |
|00014e80| 20 20 20 20 20 73 74 6d | 70 20 3d 20 73 74 6d 70 | stm|p = stmp|
|00014e90| 2d 3e 73 6e 64 5f 6e 70 | 74 72 3b 0a 20 20 20 20 |->snd_np|tr;. |
|00014ea0| 20 20 20 66 72 65 65 5f | 73 6c 69 73 74 28 73 74 | free_|slist(st|
|00014eb0| 6d 70 31 29 3b 0a 20 20 | 20 20 7d 0a 0a 20 20 20 |mp1);. | }.. |
|00014ec0| 20 69 66 20 28 63 6c 74 | 70 74 72 2d 3e 63 6c 6e | if (clt|ptr->cln|
|00014ed0| 74 5f 66 6c 61 67 73 20 | 26 20 43 4c 49 45 4e 54 |t_flags |& CLIENT|
|00014ee0| 29 0a 20 20 20 20 20 20 | 20 63 6c 69 65 6e 74 5f |). | client_|
|00014ef0| 63 6e 74 2d 2d 3b 0a 20 | 20 20 20 65 6c 73 65 0a |cnt--;. | else.|
|00014f00| 20 20 20 20 69 66 20 28 | 63 6c 74 70 74 72 2d 3e | if (|cltptr->|
|00014f10| 63 6c 6e 74 5f 66 6c 61 | 67 73 20 26 20 42 43 43 |clnt_fla|gs & BCC|
|00014f20| 5f 43 4c 49 45 4e 54 29 | 0a 20 20 20 20 20 20 20 |_CLIENT)|. |
|00014f30| 62 63 63 5f 63 6c 69 65 | 6e 74 5f 63 6e 74 2d 2d |bcc_clie|nt_cnt--|
|00014f40| 3b 0a 20 20 20 20 65 6c | 73 65 0a 20 20 20 20 69 |;. el|se. i|
|00014f50| 66 20 28 63 6c 74 70 74 | 72 2d 3e 63 6c 6e 74 5f |f (cltpt|r->clnt_|
|00014f60| 66 6c 61 67 73 20 26 20 | 42 43 43 5f 53 45 52 56 |flags & |BCC_SERV|
|00014f70| 45 52 29 0a 20 20 20 20 | 20 20 20 62 63 63 5f 63 |ER). | bcc_c|
|00014f80| 6c 69 65 6e 74 5f 63 6e | 74 2d 2d 3b 0a 20 20 20 |lient_cn|t--;. |
|00014f90| 20 65 6c 73 65 0a 20 20 | 20 20 69 66 20 28 63 6c | else. | if (cl|
|00014fa0| 74 70 74 72 2d 3e 63 6c | 6e 74 5f 66 6c 61 67 73 |tptr->cl|nt_flags|
|00014fb0| 20 26 20 42 43 43 5f 4f | 52 49 47 49 4e 29 0a 20 | & BCC_O|RIGIN). |
|00014fc0| 20 20 20 20 20 20 62 63 | 63 5f 63 6c 69 65 6e 74 | bc|c_client|
|00014fd0| 5f 63 6e 74 2d 2d 3b 0a | 20 20 20 20 65 6c 73 65 |_cnt--;.| else|
|00014fe0| 0a 20 20 20 20 69 66 20 | 28 63 6c 74 70 74 72 2d |. if |(cltptr-|
|00014ff0| 3e 63 6c 6e 74 5f 66 6c | 61 67 73 20 26 20 52 45 |>clnt_fl|ags & RE|
|00015000| 46 31 5f 43 4c 49 45 4e | 54 29 0a 20 20 20 20 20 |F1_CLIEN|T). |
|00015010| 20 20 72 65 66 31 5f 63 | 6c 69 65 6e 74 5f 63 6e | ref1_c|lient_cn|
|00015020| 74 2d 2d 3b 0a 20 20 20 | 20 65 6c 73 65 0a 20 20 |t--;. | else. |
|00015030| 20 20 69 66 20 28 63 6c | 74 70 74 72 2d 3e 63 6c | if (cl|tptr->cl|
|00015040| 6e 74 5f 66 6c 61 67 73 | 20 26 20 52 45 46 31 5f |nt_flags| & REF1_|
|00015050| 53 45 52 56 45 52 29 0a | 20 20 20 20 20 20 20 72 |SERVER).| r|
|00015060| 65 66 31 5f 73 65 72 76 | 65 72 5f 63 6e 74 2d 2d |ef1_serv|er_cnt--|
|00015070| 3b 0a 20 20 20 20 65 6c | 73 65 0a 20 20 20 20 69 |;. el|se. i|
|00015080| 66 20 28 63 6c 74 70 74 | 72 2d 3e 63 6c 6e 74 5f |f (cltpt|r->clnt_|
|00015090| 66 6c 61 67 73 20 26 20 | 52 45 46 31 5f 4f 52 49 |flags & |REF1_ORI|
|000150a0| 47 49 4e 29 0a 20 20 20 | 20 20 20 20 72 65 66 31 |GIN). | ref1|
|000150b0| 5f 6f 72 69 67 69 6e 5f | 63 6e 74 2d 2d 3b 0a 20 |_origin_|cnt--;. |
|000150c0| 20 20 20 65 6c 73 65 0a | 20 20 20 20 69 66 20 28 | else.| if (|
|000150d0| 63 6c 74 70 74 72 2d 3e | 63 6c 6e 74 5f 66 6c 61 |cltptr->|clnt_fla|
|000150e0| 67 73 20 26 20 52 45 46 | 32 5f 53 45 52 56 45 52 |gs & REF|2_SERVER|
|000150f0| 29 0a 20 20 20 20 20 20 | 20 72 65 66 32 5f 73 65 |). | ref2_se|
|00015100| 72 76 65 72 5f 63 6e 74 | 2d 2d 3b 0a 20 20 20 20 |rver_cnt|--;. |
|00015110| 65 6c 73 65 0a 20 20 20 | 20 69 66 20 28 63 6c 74 |else. | if (clt|
|00015120| 70 74 72 2d 3e 63 6c 6e | 74 5f 66 6c 61 67 73 20 |ptr->cln|t_flags |
|00015130| 26 20 52 45 46 32 5f 4f | 52 49 47 49 4e 29 0a 20 |& REF2_O|RIGIN). |
|00015140| 20 20 20 20 20 20 72 65 | 66 32 5f 6f 72 69 67 69 | re|f2_origi|
|00015150| 6e 5f 63 6e 74 2d 2d 3b | 0a 20 20 20 20 65 6c 73 |n_cnt--;|. els|
|00015160| 65 0a 20 20 20 20 69 66 | 20 28 63 6c 74 70 74 72 |e. if| (cltptr|
|00015170| 2d 3e 63 6c 6e 74 5f 66 | 6c 61 67 73 20 26 20 52 |->clnt_f|lags & R|
|00015180| 45 46 33 5f 53 45 52 56 | 45 52 29 0a 20 20 20 20 |EF3_SERV|ER). |
|00015190| 20 20 20 72 65 66 33 5f | 73 65 72 76 65 72 5f 63 | ref3_|server_c|
|000151a0| 6e 74 2d 2d 3b 0a 20 20 | 20 20 65 6c 73 65 0a 20 |nt--;. | else. |
|000151b0| 20 20 20 69 66 20 28 63 | 6c 74 70 74 72 2d 3e 63 | if (c|ltptr->c|
|000151c0| 6c 6e 74 5f 66 6c 61 67 | 73 20 26 20 52 45 46 33 |lnt_flag|s & REF3|
|000151d0| 5f 4f 52 49 47 49 4e 29 | 0a 20 20 20 20 20 20 20 |_ORIGIN)|. |
|000151e0| 72 65 66 33 5f 6f 72 69 | 67 69 6e 5f 63 6e 74 2d |ref3_ori|gin_cnt-|
|000151f0| 2d 3b 0a 20 20 20 20 65 | 6c 73 65 0a 20 20 20 20 |-;. e|lse. |
|00015200| 7b 0a 20 20 20 20 20 20 | 20 64 6f 6c 6f 67 28 22 |{. | dolog("|
|00015210| 64 65 6c 65 74 65 5f 63 | 6c 69 65 6e 74 3a 20 75 |delete_c|lient: u|
|00015220| 6e 6b 6e 6f 77 6e 20 74 | 79 70 65 5c 6e 22 29 3b |nknown t|ype\n");|
|00015230| 0a 20 20 20 20 20 20 20 | 65 78 69 74 28 2d 31 29 |. |exit(-1)|
|00015240| 3b 0a 20 20 20 20 7d 0a | 0a 20 20 20 20 66 72 65 |;. }.|. fre|
|00015250| 65 5f 63 6c 69 65 6e 74 | 28 63 6c 74 70 74 72 29 |e_client|(cltptr)|
|00015260| 3b 0a 7d 0a 0a 77 72 69 | 74 65 5f 63 6d 73 67 28 |;.}..wri|te_cmsg(|
|00015270| 63 6d 64 2c 63 6c 74 70 | 74 72 29 0a 20 20 20 20 |cmd,cltp|tr). |
|00015280| 73 68 6f 72 74 09 63 6d | 64 3b 0a 20 20 20 20 63 |short.cm|d;. c|
|00015290| 6c 69 65 6e 74 20 20 20 | 20 20 20 2a 63 6c 74 70 |lient | *cltp|
|000152a0| 74 72 3b 0a 0a 7b 0a 20 | 20 20 20 56 69 64 65 6f |tr;..{. | Video|
|000152b0| 50 61 63 6b 65 74 48 65 | 61 64 65 72 20 70 6b 74 |PacketHe|ader pkt|
|000152c0| 3b 0a 0a 20 20 20 20 70 | 6b 74 2e 72 6f 75 74 69 |;.. p|kt.routi|
|000152d0| 6e 67 2e 73 72 63 2e 66 | 61 6d 69 6c 79 20 3d 20 |ng.src.f|amily = |
|000152e0| 68 74 6f 6e 73 28 6b 52 | 65 66 6c 65 63 74 6f 72 |htons(kR|eflector|
|000152f0| 29 3b 0a 20 20 20 20 62 | 63 6f 70 79 28 26 6d 79 |);. b|copy(&my|
|00015300| 61 64 64 72 2e 73 69 6e | 5f 61 64 64 72 2e 73 5f |addr.sin|_addr.s_|
|00015310| 61 64 64 72 2c 26 70 6b | 74 2e 72 6f 75 74 69 6e |addr,&pk|t.routin|
|00015320| 67 2e 73 72 63 2e 61 64 | 64 72 2c 34 29 3b 0a 20 |g.src.ad|dr,4);. |
|00015330| 20 20 20 70 6b 74 2e 72 | 6f 75 74 69 6e 67 2e 73 | pkt.r|outing.s|
|00015340| 72 63 2e 61 64 64 72 20 | 3d 20 30 3b 0a 20 20 20 |rc.addr |= 0;. |
|00015350| 20 70 6b 74 2e 72 6f 75 | 74 69 6e 67 2e 73 72 63 | pkt.rou|ting.src|
|00015360| 2e 70 6f 72 74 20 3d 20 | 68 74 6f 6e 73 28 56 49 |.port = |htons(VI|
|00015370| 44 5f 50 4f 52 54 29 3b | 0a 0a 20 20 20 20 70 6b |D_PORT);|.. pk|
|00015380| 74 2e 72 6f 75 74 69 6e | 67 2e 64 65 73 74 2e 66 |t.routin|g.dest.f|
|00015390| 61 6d 69 6c 79 20 3d 20 | 68 74 6f 6e 73 28 6b 43 |amily = |htons(kC|
|000153a0| 6c 69 65 6e 74 29 3b 0a | 20 20 20 20 62 63 6f 70 |lient);.| bcop|
|000153b0| 79 28 26 63 6c 74 70 74 | 72 2d 3e 63 6c 6e 74 5f |y(&cltpt|r->clnt_|
|000153c0| 61 64 64 72 2e 61 64 64 | 72 2c 26 70 6b 74 2e 72 |addr.add|r,&pkt.r|
|000153d0| 6f 75 74 69 6e 67 2e 64 | 65 73 74 2e 61 64 64 72 |outing.d|est.addr|
|000153e0| 2c 34 29 3b 0a 20 20 20 | 20 70 6b 74 2e 72 6f 75 |,4);. | pkt.rou|
|000153f0| 74 69 6e 67 2e 64 65 73 | 74 2e 70 6f 72 74 20 3d |ting.des|t.port =|
|00015400| 20 68 74 6f 6e 73 28 56 | 49 44 5f 50 4f 52 54 29 | htons(V|ID_PORT)|
|00015410| 3b 0a 0a 20 20 20 20 70 | 6b 74 2e 73 65 71 4e 75 |;.. p|kt.seqNu|
|00015420| 6d 20 3d 20 30 3b 0a 20 | 20 20 20 70 6b 74 2e 64 |m = 0;. | pkt.d|
|00015430| 61 74 61 54 79 70 65 20 | 3d 20 68 74 6f 6e 73 28 |ataType |= htons(|
|00015440| 6b 43 6f 6e 74 72 6f 6c | 54 79 70 65 29 3b 0a 20 |kControl|Type);. |
|00015450| 20 20 20 70 6b 74 2e 6c | 65 6e 20 3d 20 68 74 6f | pkt.l|en = hto|
|00015460| 6e 73 28 73 69 7a 65 6f | 66 28 56 69 64 65 6f 50 |ns(sizeo|f(VideoP|
|00015470| 61 63 6b 65 74 48 65 61 | 64 65 72 29 29 3b 0a 20 |acketHea|der));. |
|00015480| 20 20 20 70 6b 74 2e 6d | 65 73 73 61 67 65 20 3d | pkt.m|essage =|
|00015490| 20 68 74 6f 6e 73 28 63 | 6d 64 29 3b 0a 0a 20 20 | htons(c|md);.. |
|000154a0| 20 20 77 72 69 74 65 5f | 70 6b 74 28 26 70 6b 74 | write_|pkt(&pkt|
|000154b0| 2c 63 6c 74 70 74 72 29 | 3b 0a 7d 0a 0a 0a 77 72 |,cltptr)|;.}...wr|
|000154c0| 69 74 65 5f 70 6b 74 28 | 76 69 64 70 74 72 2c 63 |ite_pkt(|vidptr,c|
|000154d0| 6c 74 70 74 72 29 0a 20 | 20 20 20 56 69 64 65 6f |ltptr). | Video|
|000154e0| 50 61 63 6b 65 74 48 65 | 61 64 65 72 20 20 20 20 |PacketHe|ader |
|000154f0| 20 20 20 20 2a 76 69 64 | 70 74 72 3b 0a 20 20 20 | *vid|ptr;. |
|00015500| 20 63 6c 69 65 6e 74 20 | 20 20 20 20 20 20 20 20 | client | |
|00015510| 20 20 20 20 20 20 20 20 | 20 20 2a 63 6c 74 70 74 | | *cltpt|
|00015520| 72 3b 0a 7b 0a 20 20 20 | 20 73 74 72 75 63 74 20 |r;.{. | struct |
|00015530| 69 6e 5f 61 64 64 72 20 | 69 6e 3b 0a 0a 20 20 20 |in_addr |in;.. |
|00015540| 20 69 66 20 28 63 6c 74 | 70 74 72 2d 3e 63 6c 6e | if (clt|ptr->cln|
|00015550| 74 5f 66 6c 61 67 73 20 | 26 20 52 45 46 33 5f 4f |t_flags |& REF3_O|
|00015560| 52 49 47 49 4e 29 0a 20 | 20 20 20 20 20 20 63 6c |RIGIN). | cl|
|00015570| 74 70 74 72 20 3d 20 63 | 6c 74 70 74 72 2d 3e 63 |tptr = c|ltptr->c|
|00015580| 6c 6e 74 5f 70 70 74 72 | 3b 0a 0a 0a 23 69 66 64 |lnt_pptr|;...#ifd|
|00015590| 65 66 20 44 45 42 55 47 | 0a 20 20 20 20 69 66 20 |ef DEBUG|. if |
|000155a0| 28 64 65 62 75 67 29 0a | 20 20 20 20 7b 0a 20 20 |(debug).| {. |
|000155b0| 20 20 20 20 20 69 6e 2e | 73 5f 61 64 64 72 20 3d | in.|s_addr =|
|000155c0| 20 63 6c 74 70 74 72 2d | 3e 63 6c 6e 74 5f 61 64 | cltptr-|>clnt_ad|
|000155d0| 64 72 2e 61 64 64 72 3b | 0a 20 20 20 20 20 20 20 |dr.addr;|. |
|000155e0| 70 72 69 6e 74 66 28 22 | 73 65 6e 64 69 6e 67 20 |printf("|sending |
|000155f0| 74 6f 20 25 73 5c 6e 22 | 2c 69 6e 65 74 5f 6e 74 |to %s\n"|,inet_nt|
|00015600| 6f 61 28 69 6e 29 29 3b | 0a 20 20 20 20 7d 0a 23 |oa(in));|. }.#|
|00015610| 65 6e 64 69 66 0a 0a 20 | 20 20 20 63 6c 74 70 74 |endif.. | cltpt|
|00015620| 72 2d 3e 63 6c 6e 74 5f | 73 74 69 6d 65 72 20 3d |r->clnt_|stimer =|
|00015630| 20 30 3b 0a 0a 0a 20 20 | 20 20 69 66 20 28 73 65 | 0;... | if (se|
|00015640| 6e 64 74 6f 28 76 69 64 | 5f 73 6f 63 6b 2c 76 69 |ndto(vid|_sock,vi|
|00015650| 64 70 74 72 2c 6e 74 6f | 68 73 28 76 69 64 70 74 |dptr,nto|hs(vidpt|
|00015660| 72 2d 3e 6c 65 6e 29 2c | 30 2c 26 63 6c 74 70 74 |r->len),|0,&cltpt|
|00015670| 72 2d 3e 63 6c 6e 74 5f | 61 64 64 72 2c 73 69 7a |r->clnt_|addr,siz|
|00015680| 65 6f 66 28 73 74 72 75 | 63 74 20 73 6f 63 6b 61 |eof(stru|ct socka|
|00015690| 64 64 72 5f 69 6e 29 29 | 20 21 3d 20 6e 74 6f 68 |ddr_in))| != ntoh|
|000156a0| 73 28 76 69 64 70 74 72 | 2d 3e 6c 65 6e 29 29 0a |s(vidptr|->len)).|
|000156b0| 20 20 20 20 20 20 20 64 | 6f 6c 6f 67 28 22 73 65 | d|olog("se|
|000156c0| 6e 64 74 6f 20 65 72 72 | 6f 72 20 25 64 20 63 6c |ndto err|or %d cl|
|000156d0| 69 65 6e 74 20 25 73 5c | 6e 22 2c 65 72 72 6e 6f |ient %s\|n",errno|
|000156e0| 2c 63 6c 74 70 74 72 2d | 3e 63 6c 6e 74 5f 63 6f |,cltptr-|>clnt_co|
|000156f0| 6e 66 69 67 2e 6e 61 6d | 65 29 3b 0a 7d 0a 0a 75 |nfig.nam|e);.}..u|
|00015700| 70 64 61 74 65 5f 63 6c | 69 65 6e 74 28 63 6c 74 |pdate_cl|ient(clt|
|00015710| 70 74 72 2c 63 70 74 72 | 2c 64 6f 73 6c 69 73 74 |ptr,cptr|,doslist|
|00015720| 2c 61 6c 6c 29 0a 20 20 | 20 20 63 6c 69 65 6e 74 |,all). | client|
|00015730| 20 20 20 20 20 20 20 20 | 20 20 20 2a 63 6c 74 70 | | *cltp|
|00015740| 74 72 3b 0a 20 20 20 20 | 63 68 61 72 20 20 20 20 |tr;. |char |
|00015750| 20 20 20 20 20 20 20 20 | 20 2a 63 70 74 72 3b 0a | | *cptr;.|
|00015760| 20 20 20 20 63 68 61 72 | 20 20 20 20 20 20 20 20 | char| |
|00015770| 20 20 20 20 20 64 6f 73 | 6c 69 73 74 3b 0a 20 20 | dos|list;. |
|00015780| 20 20 63 68 61 72 20 20 | 20 20 20 20 20 20 20 20 | char | |
|00015790| 20 20 20 61 6c 6c 3b 0a | 7b 0a 20 20 20 20 43 6c | all;.|{. Cl|
|000157a0| 69 65 6e 74 49 6e 66 6f | 20 20 20 20 20 20 20 2a |ientInfo| *|
|000157b0| 63 69 70 74 72 3b 0a 20 | 20 20 20 63 6c 69 65 6e |ciptr;. | clien|
|000157c0| 74 20 20 20 20 20 20 20 | 20 20 20 20 2a 63 74 6d |t | *ctm|
|000157d0| 70 3b 0a 20 20 20 20 73 | 6c 69 73 74 20 20 20 20 |p;. s|list |
|000157e0| 20 20 20 20 20 20 20 20 | 2a 73 74 6d 70 3b 0a 20 | |*stmp;. |
|000157f0| 20 20 20 75 6e 73 69 67 | 6e 65 64 20 6c 6f 6e 67 | unsig|ned long|
|00015800| 20 20 20 20 6f 6c 64 5f | 73 65 71 3b 0a 0a 20 20 | old_|seq;.. |
|00015810| 20 20 63 68 61 72 20 20 | 20 20 20 20 20 20 20 20 | char | |
|00015820| 20 20 20 6e 61 6d 65 5f | 6c 65 6e 3b 0a 20 20 20 | name_|len;. |
|00015830| 20 73 68 6f 72 74 20 20 | 20 20 20 20 20 20 20 20 | short | |
|00015840| 20 20 63 6e 74 3b 0a 20 | 20 20 20 73 74 72 75 63 | cnt;. | struc|
|00015850| 74 20 69 6e 5f 61 64 64 | 72 20 20 20 69 6e 3b 0a |t in_add|r in;.|
|00015860| 0a 0a 20 20 20 20 63 6c | 74 70 74 72 2d 3e 63 6c |.. cl|tptr->cl|
|00015870| 6e 74 5f 63 6f 6e 66 69 | 67 2e 63 6c 69 65 6e 74 |nt_confi|g.client|
|00015880| 43 6f 75 6e 74 20 3d 20 | 6e 74 6f 68 73 28 2a 28 |Count = |ntohs(*(|
|00015890| 28 73 68 6f 72 74 20 2a | 29 63 70 74 72 29 29 3b |(short *|)cptr));|
|000158a0| 0a 20 20 20 20 63 70 74 | 72 20 2b 3d 20 73 69 7a |. cpt|r += siz|
|000158b0| 65 6f 66 28 73 68 6f 72 | 74 29 3b 0a 0a 20 20 20 |eof(shor|t);.. |
|000158c0| 20 69 66 20 28 63 6c 74 | 70 74 72 2d 3e 63 6c 6e | if (clt|ptr->cln|
|000158d0| 74 5f 63 6f 6e 66 69 67 | 2e 63 6c 69 65 6e 74 43 |t_config|.clientC|
|000158e0| 6f 75 6e 74 20 3e 20 32 | 30 29 0a 20 20 20 20 20 |ount > 2|0). |
|000158f0| 20 20 72 65 74 75 72 6e | 3b 0a 0a 20 20 20 20 64 | return|;.. d|
|00015900| 6f 6c 6f 67 28 22 75 70 | 64 61 74 69 6e 67 20 63 |olog("up|dating c|
|00015910| 6c 69 65 6e 74 20 25 73 | 20 63 6c 69 65 6e 74 20 |lient %s| client |
|00015920| 63 6f 75 6e 74 20 25 64 | 20 20 20 73 65 71 20 25 |count %d| seq %|
|00015930| 6c 64 5c 6e 22 2c 63 6c | 74 70 74 72 2d 3e 63 6c |ld\n",cl|tptr->cl|
|00015940| 6e 74 5f 63 6f 6e 66 69 | 67 2e 6e 61 6d 65 2c 63 |nt_confi|g.name,c|
|00015950| 6c 74 70 74 72 2d 3e 63 | 6c 6e 74 5f 63 6f 6e 66 |ltptr->c|lnt_conf|
|00015960| 69 67 2e 63 6c 69 65 6e | 74 43 6f 75 6e 74 2c 63 |ig.clien|tCount,c|
|00015970| 6c 74 70 74 72 2d 3e 63 | 6c 6e 74 5f 63 6f 6e 66 |ltptr->c|lnt_conf|
|00015980| 69 67 2e 73 65 71 4e 75 | 6d 29 3b 0a 0a 20 20 20 |ig.seqNu|m);.. |
|00015990| 20 6f 6c 64 5f 73 65 71 | 20 3d 20 63 6c 74 70 74 | old_seq| = cltpt|
|000159a0| 72 2d 3e 63 6c 6e 74 5f | 63 6f 6e 66 69 67 2e 73 |r->clnt_|config.s|
|000159b0| 65 71 4e 75 6d 3b 0a 20 | 20 20 20 63 6c 74 70 74 |eqNum;. | cltpt|
|000159c0| 72 2d 3e 63 6c 6e 74 5f | 63 6f 6e 66 69 67 2e 73 |r->clnt_|config.s|
|000159d0| 65 71 4e 75 6d 20 3d 20 | 6e 74 6f 68 6c 28 2a 28 |eqNum = |ntohl(*(|
|000159e0| 28 75 6e 73 69 67 6e 65 | 64 20 6c 6f 6e 67 20 2a |(unsigne|d long *|
|000159f0| 29 63 70 74 72 29 29 3b | 0a 20 20 20 20 63 70 74 |)cptr));|. cpt|
|00015a00| 72 20 2b 3d 20 73 69 7a | 65 6f 66 28 75 6e 73 69 |r += siz|eof(unsi|
|00015a10| 67 6e 65 64 20 6c 6f 6e | 67 29 3b 0a 0a 20 20 20 |gned lon|g);.. |
|00015a20| 20 6e 61 6d 65 5f 6c 65 | 6e 20 3d 20 2a 63 70 74 | name_le|n = *cpt|
|00015a30| 72 2b 2b 3b 20 0a 20 20 | 20 20 69 66 20 28 6e 61 |r++; . | if (na|
|00015a40| 6d 65 5f 6c 65 6e 20 3e | 20 31 39 29 0a 20 20 20 |me_len >| 19). |
|00015a50| 20 7b 0a 20 20 20 20 20 | 20 20 64 6f 6c 6f 67 28 | {. | dolog(|
|00015a60| 22 62 6f 67 75 73 20 6e | 61 6d 65 20 6c 65 6e 67 |"bogus n|ame leng|
|00015a70| 74 68 20 25 64 5c 6e 22 | 2c 6e 61 6d 65 5f 6c 65 |th %d\n"|,name_le|
|00015a80| 6e 29 3b 0a 20 20 20 20 | 20 20 20 6e 61 6d 65 5f |n);. | name_|
|00015a90| 6c 65 6e 20 3d 20 31 39 | 3b 0a 20 20 20 20 7d 0a |len = 19|;. }.|
|00015aa0| 0a 20 20 20 20 66 6f 72 | 20 28 63 6e 74 20 3d 20 |. for| (cnt = |
|00015ab0| 30 3b 20 63 6e 74 20 3c | 20 6e 61 6d 65 5f 6c 65 |0; cnt <| name_le|
|00015ac0| 6e 3b 20 63 6e 74 2b 2b | 29 0a 20 20 20 20 7b 0a |n; cnt++|). {.|
|00015ad0| 20 20 20 20 20 20 20 63 | 6c 74 70 74 72 2d 3e 63 | c|ltptr->c|
|00015ae0| 6c 6e 74 5f 63 6f 6e 66 | 69 67 2e 6e 61 6d 65 5b |lnt_conf|ig.name[|
|00015af0| 63 6e 74 5d 20 3d 20 63 | 70 74 72 5b 63 6e 74 5d |cnt] = c|ptr[cnt]|
|00015b00| 3b 0a 0a 20 20 20 20 20 | 20 20 69 66 20 28 63 6c |;.. | if (cl|
|00015b10| 74 70 74 72 2d 3e 63 6c | 6e 74 5f 63 6f 6e 66 69 |tptr->cl|nt_confi|
|00015b20| 67 2e 6e 61 6d 65 5b 63 | 6e 74 5d 20 3d 3d 20 27 |g.name[c|nt] == '|
|00015b30| 5c 6e 27 29 0a 20 20 20 | 20 20 20 20 20 20 20 63 |\n'). | c|
|00015b40| 6c 74 70 74 72 2d 3e 63 | 6c 6e 74 5f 63 6f 6e 66 |ltptr->c|lnt_conf|
|00015b50| 69 67 2e 6e 61 6d 65 5b | 63 6e 74 5d 20 3d 20 27 |ig.name[|cnt] = '|
|00015b60| 20 27 3b 0a 0a 20 20 20 | 20 20 20 20 69 66 20 28 | ';.. | if (|
|00015b70| 63 6c 74 70 74 72 2d 3e | 63 6c 6e 74 5f 63 6f 6e |cltptr->|clnt_con|
|00015b80| 66 69 67 2e 6e 61 6d 65 | 5b 63 6e 74 5d 20 3d 3d |fig.name|[cnt] ==|
|00015b90| 20 27 5c 72 27 29 0a 20 | 20 20 20 20 20 20 20 20 | '\r'). | |
|00015ba0| 20 63 6c 74 70 74 72 2d | 3e 63 6c 6e 74 5f 63 6f | cltptr-|>clnt_co|
|00015bb0| 6e 66 69 67 2e 6e 61 6d | 65 5b 63 6e 74 5d 20 3d |nfig.nam|e[cnt] =|
|00015bc0| 20 27 20 27 3b 0a 20 20 | 20 20 7d 20 20 20 20 20 | ' ';. | } |
|00015bd0| 20 20 0a 0a 20 20 20 20 | 63 6c 74 70 74 72 2d 3e | .. |cltptr->|
|00015be0| 63 6c 6e 74 5f 63 6f 6e | 66 69 67 2e 6e 61 6d 65 |clnt_con|fig.name|
|00015bf0| 5b 6e 61 6d 65 5f 6c 65 | 6e 5d 20 3d 20 30 3b 0a |[name_le|n] = 0;.|
|00015c00| 0a 20 20 20 20 63 70 74 | 72 20 2b 3d 20 31 39 3b |. cpt|r += 19;|
|00015c10| 0a 0a 20 20 20 20 69 66 | 20 28 28 63 6c 74 70 74 |.. if| ((cltpt|
|00015c20| 72 2d 3e 63 6c 6e 74 5f | 66 6c 61 67 73 20 26 20 |r->clnt_|flags & |
|00015c30| 43 4c 49 45 4e 54 29 20 | 26 26 20 28 6c 6f 63 61 |CLIENT) |&& (loca|
|00015c40| 6c 5f 73 65 6e 64 65 72 | 73 20 3d 3d 20 30 29 29 |l_sender|s == 0))|
|00015c50| 0a 20 20 20 20 20 20 20 | 2a 63 70 74 72 20 3d 20 |. |*cptr = |
|00015c60| 30 3b 0a 0a 20 20 20 20 | 63 6c 74 70 74 72 2d 3e |0;.. |cltptr->|
|00015c70| 63 6c 6e 74 5f 63 6f 6e | 66 69 67 2e 73 65 6e 64 |clnt_con|fig.send|
|00015c80| 4d 6f 64 65 20 3d 20 2a | 63 70 74 72 2b 2b 3b 0a |Mode = *|cptr++;.|
|00015c90| 0a 20 20 20 20 63 6c 74 | 70 74 72 2d 3e 63 6c 6e |. clt|ptr->cln|
|00015ca0| 74 5f 63 6f 6e 66 69 67 | 2e 72 65 63 76 4d 6f 64 |t_config|.recvMod|
|00015cb0| 65 20 3d 20 2a 63 70 74 | 72 2b 2b 3b 0a 20 20 20 |e = *cpt|r++;. |
|00015cc0| 20 63 6c 74 70 74 72 2d | 3e 63 6c 6e 74 5f 63 6f | cltptr-|>clnt_co|
|00015cd0| 6e 66 69 67 2e 66 6c 61 | 67 73 20 3d 20 2a 63 70 |nfig.fla|gs = *cp|
|00015ce0| 74 72 2b 2b 3b 0a 20 20 | 20 20 69 66 20 28 28 63 |tr++;. | if ((c|
|00015cf0| 6c 74 70 74 72 2d 3e 63 | 6c 6e 74 5f 63 6f 6e 66 |ltptr->c|lnt_conf|
|00015d00| 69 67 2e 76 65 72 73 69 | 6f 6e 20 3d 20 2a 63 70 |ig.versi|on = *cp|
|00015d10| 74 72 2b 2b 29 20 3c 20 | 56 45 52 53 49 4f 4e 31 |tr++) < |VERSION1|
|00015d20| 29 0a 20 20 20 20 20 20 | 20 61 6c 6c 20 3d 20 54 |). | all = T|
|00015d30| 52 55 45 3b 0a 0a 20 20 | 20 20 2f 2a 20 64 65 6c |RUE;.. | /* del|
|00015d40| 65 74 65 20 74 68 69 73 | 20 63 6c 69 65 6e 74 20 |ete this| client |
|00015d50| 66 72 6f 6d 20 74 68 65 | 20 6f 74 68 65 72 20 63 |from the| other c|
|00015d60| 6c 69 65 6e 74 27 73 20 | 73 65 6e 64 20 6c 69 73 |lient's |send lis|
|00015d70| 74 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |t | |
|00015d80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00015d90| 20 20 20 20 20 20 2a 2f | 0a 0a 20 20 20 20 69 66 | */|.. if|
|00015da0| 20 28 64 6f 73 6c 69 73 | 74 20 3d 3d 20 46 41 4c | (doslis|t == FAL|
|00015db0| 53 45 29 0a 20 20 20 20 | 20 20 20 72 65 74 75 72 |SE). | retur|
|00015dc0| 6e 3b 0a 0a 20 20 20 20 | 69 66 20 28 61 6c 6c 29 |n;.. |if (all)|
|00015dd0| 0a 20 20 20 20 7b 0a 20 | 20 20 20 20 20 20 63 74 |. {. | ct|
|00015de0| 6d 70 20 3d 20 63 68 65 | 61 64 3b 0a 20 20 20 20 |mp = che|ad;. |
|00015df0| 20 20 20 77 68 69 6c 65 | 20 28 63 74 6d 70 20 21 | while| (ctmp !|
|00015e00| 3d 20 4e 55 4c 4c 29 0a | 20 20 20 20 20 20 20 7b |= NULL).| {|
|00015e10| 0a 20 20 20 20 20 20 20 | 20 20 20 63 74 6d 70 2d |. | ctmp-|
|00015e20| 3e 63 6c 6e 74 5f 76 6c | 69 73 74 20 3d 20 75 6e |>clnt_vl|ist = un|
|00015e30| 6c 69 6e 6b 5f 73 6c 69 | 73 74 28 63 74 6d 70 2d |link_sli|st(ctmp-|
|00015e40| 3e 63 6c 6e 74 5f 76 6c | 69 73 74 2c 63 6c 74 70 |>clnt_vl|ist,cltp|
|00015e50| 74 72 29 3b 0a 20 20 20 | 20 20 20 20 20 20 20 63 |tr);. | c|
|00015e60| 74 6d 70 2d 3e 63 6c 6e | 74 5f 61 6c 69 73 74 20 |tmp->cln|t_alist |
|00015e70| 3d 20 75 6e 6c 69 6e 6b | 5f 73 6c 69 73 74 28 63 |= unlink|_slist(c|
|00015e80| 74 6d 70 2d 3e 63 6c 6e | 74 5f 61 6c 69 73 74 2c |tmp->cln|t_alist,|
|00015e90| 63 6c 74 70 74 72 29 3b | 0a 20 20 20 20 20 20 20 |cltptr);|. |
|00015ea0| 20 20 20 63 74 6d 70 20 | 3d 20 63 74 6d 70 2d 3e | ctmp |= ctmp->|
|00015eb0| 63 6c 6e 74 5f 6e 70 74 | 72 3b 0a 20 20 20 20 20 |clnt_npt|r;. |
|00015ec0| 20 20 7d 0a 20 20 20 20 | 7d 0a 0a 20 20 20 20 2f | }. |}.. /|
|00015ed0| 2a 0a 20 20 20 20 63 74 | 6d 70 20 3d 20 63 68 65 |*. ct|mp = che|
|00015ee0| 61 64 3b 0a 20 20 20 20 | 77 68 69 6c 65 20 28 63 |ad;. |while (c|
|00015ef0| 74 6d 70 20 21 3d 20 4e | 55 4c 4c 29 0a 20 20 20 |tmp != N|ULL). |
|00015f00| 20 7b 0a 20 20 20 20 20 | 20 20 73 74 6d 70 20 3d | {. | stmp =|
|00015f10| 20 63 74 6d 70 2d 3e 63 | 6c 6e 74 5f 76 6c 69 73 | ctmp->c|lnt_vlis|
|00015f20| 74 3b 0a 20 20 20 20 20 | 20 20 63 6e 74 20 3d 20 |t;. | cnt = |
|00015f30| 30 3b 0a 20 20 20 20 20 | 20 20 77 68 69 6c 65 20 |0;. | while |
|00015f40| 28 73 74 6d 70 20 21 3d | 20 4e 55 4c 4c 29 0a 20 |(stmp !=| NULL). |
|00015f50| 20 20 20 20 20 20 7b 0a | 09 20 20 63 6e 74 2b 2b | {.|. cnt++|
|00015f60| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 69 66 20 28 |;. | if (|
|00015f70| 73 74 6d 70 2d 3e 73 6e | 64 5f 63 6c 69 65 6e 74 |stmp->sn|d_client|
|00015f80| 20 3d 3d 20 63 6c 74 70 | 74 72 29 0a 09 20 20 20 | == cltp|tr).. |
|00015f90| 20 20 64 6f 6c 6f 67 28 | 22 53 4c 49 53 54 20 49 | dolog(|"SLIST I|
|00015fa0| 53 20 44 41 4d 41 47 45 | 44 5c 6e 22 29 3b 0a 09 |S DAMAGE|D\n");..|
|00015fb0| 20 20 73 74 6d 70 20 3d | 20 73 74 6d 70 2d 3e 73 | stmp =| stmp->s|
|00015fc0| 6e 64 5f 6e 70 74 72 3b | 0a 20 20 20 20 20 20 20 |nd_nptr;|. |
|00015fd0| 7d 0a 20 20 20 20 20 20 | 20 64 6f 6c 6f 67 28 22 |}. | dolog("|
|00015fe0| 25 73 27 73 20 73 6c 69 | 73 74 20 63 6f 75 6e 74 |%s's sli|st count|
|00015ff0| 20 25 64 5c 6e 22 2c 63 | 74 6d 70 2d 3e 63 6c 6e | %d\n",c|tmp->cln|
|00016000| 74 5f 63 6f 6e 66 69 67 | 2e 6e 61 6d 65 2c 63 6e |t_config|.name,cn|
|00016010| 74 29 3b 0a 20 20 20 20 | 20 20 20 63 74 6d 70 20 |t);. | ctmp |
|00016020| 3d 20 63 74 6d 70 2d 3e | 63 6c 6e 74 5f 6e 70 74 |= ctmp->|clnt_npt|
|00016030| 72 3b 0a 20 20 20 20 7d | 0a 20 20 20 20 2a 2f 0a |r;. }|. */.|
|00016040| 0a 20 20 20 20 63 69 70 | 74 72 20 3d 20 28 43 6c |. cip|tr = (Cl|
|00016050| 69 65 6e 74 49 6e 66 6f | 20 2a 29 20 28 63 70 74 |ientInfo| *) (cpt|
|00016060| 72 29 3b 0a 0a 20 20 20 | 20 66 6f 72 20 28 63 6e |r);.. | for (cn|
|00016070| 74 20 3d 20 30 3b 20 63 | 6e 74 20 3c 20 63 6c 74 |t = 0; c|nt < clt|
|00016080| 70 74 72 2d 3e 63 6c 6e | 74 5f 63 6f 6e 66 69 67 |ptr->cln|t_config|
|00016090| 2e 63 6c 69 65 6e 74 43 | 6f 75 6e 74 3b 20 63 6e |.clientC|ount; cn|
|000160a0| 74 2b 2b 29 0a 20 20 20 | 20 7b 0a 20 20 20 20 20 |t++). | {. |
|000160b0| 20 20 69 66 20 28 61 6c | 6c 29 0a 20 20 20 20 20 | if (al|l). |
|000160c0| 20 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 69 66 | {. | if|
|000160d0| 20 28 63 69 70 74 72 2d | 3e 49 57 69 6c 6c 52 65 | (ciptr-|>IWillRe|
|000160e0| 63 76 29 0a 20 20 20 20 | 20 20 20 20 20 20 7b 0a |cv). | {.|
|000160f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 69 66 20 | | if |
|00016100| 28 28 63 74 6d 70 20 3d | 20 66 69 6e 64 5f 63 6c |((ctmp =| find_cl|
|00016110| 69 65 6e 74 28 63 69 70 | 74 72 2d 3e 63 6c 69 65 |ient(cip|tr->clie|
|00016120| 6e 74 49 50 2c 63 68 65 | 61 64 29 29 20 3d 3d 20 |ntIP,che|ad)) == |
|00016130| 4e 55 4c 4c 29 0a 20 20 | 20 20 20 20 20 20 20 20 |NULL). | |
|00016140| 20 20 20 7b 0a 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00016150| 20 20 20 20 20 69 6e 2e | 73 5f 61 64 64 72 20 3d | in.|s_addr =|
|00016160| 20 63 69 70 74 72 2d 3e | 63 6c 69 65 6e 74 49 50 | ciptr->|clientIP|
|00016170| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;. | |
|00016180| 20 20 64 6f 6c 6f 67 28 | 22 25 73 20 77 61 6e 74 | dolog(|"%s want|
|00016190| 73 20 74 6f 20 72 65 63 | 69 65 76 65 20 76 69 64 |s to rec|ieve vid|
|000161a0| 65 6f 20 66 72 6f 6d 20 | 25 73 20 62 75 74 20 63 |eo from |%s but c|
|000161b0| 6c 69 65 6e 74 20 6e 6f | 74 20 66 6f 75 6e 64 5c |lient no|t found\|
|000161c0| 6e 22 2c 63 6c 74 70 74 | 72 2d 3e 63 6c 6e 74 5f |n",cltpt|r->clnt_|
|000161d0| 63 6f 6e 66 69 67 2e 6e | 61 6d 65 2c 69 6e 65 74 |config.n|ame,inet|
|000161e0| 5f 6e 74 6f 61 28 69 6e | 29 29 3b 0a 20 20 20 20 |_ntoa(in|));. |
|000161f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 63 6c 74 70 | | cltp|
|00016200| 74 72 2d 3e 63 6c 6e 74 | 5f 63 6f 6e 66 69 67 2e |tr->clnt|_config.|
|00016210| 73 65 71 4e 75 6d 20 3d | 20 6f 6c 64 5f 73 65 71 |seqNum =| old_seq|
|00016220| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 7d |;. | }|
|00016230| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 65 6c |. | el|
|00016240| 73 65 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |se. | |
|00016250| 7b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |{. | |
|00016260| 20 20 69 66 20 28 63 6c | 74 70 74 72 2d 3e 63 6c | if (cl|tptr->cl|
|00016270| 6e 74 5f 63 6f 6e 66 69 | 67 2e 76 65 72 73 69 6f |nt_confi|g.versio|
|00016280| 6e 20 3e 3d 20 56 45 52 | 53 49 4f 4e 35 29 0a 20 |n >= VER|SION5). |
|00016290| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000162a0| 20 20 64 6f 6c 6f 67 28 | 22 25 73 20 77 61 6e 74 | dolog(|"%s want|
|000162b0| 73 20 74 6f 20 72 65 63 | 69 65 76 65 20 76 69 64 |s to rec|ieve vid|
|000162c0| 65 6f 20 66 72 6f 6d 20 | 25 73 5c 6e 22 2c 63 6c |eo from |%s\n",cl|
|000162d0| 74 70 74 72 2d 3e 63 6c | 6e 74 5f 63 6f 6e 66 69 |tptr->cl|nt_confi|
|000162e0| 67 2e 6e 61 6d 65 2c 63 | 74 6d 70 2d 3e 63 6c 6e |g.name,c|tmp->cln|
|000162f0| 74 5f 63 6f 6e 66 69 67 | 2e 6e 61 6d 65 29 3b 0a |t_config|.name);.|
|00016300| 09 09 65 6c 73 65 0a 20 | 20 20 20 20 20 20 20 20 |..else. | |
|00016310| 20 20 20 20 20 20 20 20 | 20 20 64 6f 6c 6f 67 28 | | dolog(|
|00016320| 22 25 73 20 77 61 6e 74 | 73 20 74 6f 20 72 65 63 |"%s want|s to rec|
|00016330| 69 65 76 65 20 61 75 64 | 69 6f 20 61 6e 64 20 76 |ieve aud|io and v|
|00016340| 69 64 65 6f 20 66 72 6f | 6d 20 25 73 5c 6e 22 2c |ideo fro|m %s\n",|
|00016350| 63 6c 74 70 74 72 2d 3e | 63 6c 6e 74 5f 63 6f 6e |cltptr->|clnt_con|
|00016360| 66 69 67 2e 6e 61 6d 65 | 2c 63 74 6d 70 2d 3e 63 |fig.name|,ctmp->c|
|00016370| 6c 6e 74 5f 63 6f 6e 66 | 69 67 2e 6e 61 6d 65 29 |lnt_conf|ig.name)|
|00016380| 3b 0a 0a 09 09 73 74 6d | 70 20 3d 20 28 73 6c 69 |;....stm|p = (sli|
|00016390| 73 74 20 2a 29 20 67 65 | 74 5f 73 6c 69 73 74 28 |st *) ge|t_slist(|
|000163a0| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |);. | |
|000163b0| 20 20 20 73 74 6d 70 2d | 3e 73 6e 64 5f 6e 70 74 | stmp-|>snd_npt|
|000163c0| 72 20 3d 20 63 74 6d 70 | 2d 3e 63 6c 6e 74 5f 76 |r = ctmp|->clnt_v|
|000163d0| 6c 69 73 74 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |list;. | |
|000163e0| 20 20 20 20 20 20 63 74 | 6d 70 2d 3e 63 6c 6e 74 | ct|mp->clnt|
|000163f0| 5f 76 6c 69 73 74 20 3d | 20 73 74 6d 70 3b 0a 20 |_vlist =| stmp;. |
|00016400| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 73 | | s|
|00016410| 74 6d 70 2d 3e 73 6e 64 | 5f 63 6c 69 65 6e 74 20 |tmp->snd|_client |
|00016420| 3d 20 63 6c 74 70 74 72 | 3b 0a 0a 20 20 20 20 20 |= cltptr|;.. |
|00016430| 20 20 20 20 20 20 20 20 | 20 20 20 69 66 20 28 63 | | if (c|
|00016440| 6c 74 70 74 72 2d 3e 63 | 6c 6e 74 5f 63 6f 6e 66 |ltptr->c|lnt_conf|
|00016450| 69 67 2e 76 65 72 73 69 | 6f 6e 20 20 3c 20 56 45 |ig.versi|on < VE|
|00016460| 52 53 49 4f 4e 35 29 0a | 09 09 7b 0a 09 09 20 20 |RSION5).|..{... |
|00016470| 20 73 74 6d 70 20 3d 20 | 28 73 6c 69 73 74 20 2a | stmp = |(slist *|
|00016480| 29 20 67 65 74 5f 73 6c | 69 73 74 28 29 3b 0a 20 |) get_sl|ist();. |
|00016490| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000164a0| 20 20 73 74 6d 70 2d 3e | 73 6e 64 5f 6e 70 74 72 | stmp->|snd_nptr|
|000164b0| 20 3d 20 63 74 6d 70 2d | 3e 63 6c 6e 74 5f 61 6c | = ctmp-|>clnt_al|
|000164c0| 69 73 74 3b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |ist;. | |
|000164d0| 20 20 20 20 20 20 20 20 | 63 74 6d 70 2d 3e 63 6c | |ctmp->cl|
|000164e0| 6e 74 5f 61 6c 69 73 74 | 20 3d 20 73 74 6d 70 3b |nt_alist| = stmp;|
|000164f0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00016500| 20 20 20 20 73 74 6d 70 | 2d 3e 73 6e 64 5f 63 6c | stmp|->snd_cl|
|00016510| 69 65 6e 74 20 3d 20 63 | 6c 74 70 74 72 3b 0a 20 |ient = c|ltptr;. |
|00016520| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 7d | | }|
|00016530| 0a 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 7d |.. | }|
|00016540| 0a 20 20 20 20 20 20 20 | 20 20 20 7d 0a 0a 09 20 |. | }... |
|00016550| 20 69 66 20 28 63 69 70 | 74 72 2d 3e 66 6c 61 67 | if (cip|tr->flag|
|00016560| 73 20 26 20 49 57 69 6c | 6c 52 65 63 41 75 64 69 |s & IWil|lRecAudi|
|00016570| 6f 29 0a 09 20 20 7b 0a | 20 20 20 20 20 20 20 20 |o).. {.| |
|00016580| 20 20 20 20 20 69 66 20 | 28 28 63 74 6d 70 20 3d | if |((ctmp =|
|00016590| 20 66 69 6e 64 5f 63 6c | 69 65 6e 74 28 63 69 70 | find_cl|ient(cip|
|000165a0| 74 72 2d 3e 63 6c 69 65 | 6e 74 49 50 2c 63 68 65 |tr->clie|ntIP,che|
|000165b0| 61 64 29 29 20 3d 3d 20 | 4e 55 4c 4c 29 0a 20 20 |ad)) == |NULL). |
|000165c0| 20 20 20 20 20 20 20 20 | 20 20 20 7b 0a 20 20 20 | | {. |
|000165d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 69 6e 2e | | in.|
|000165e0| 73 5f 61 64 64 72 20 3d | 20 63 69 70 74 72 2d 3e |s_addr =| ciptr->|
|000165f0| 63 6c 69 65 6e 74 49 50 | 3b 0a 20 20 20 20 20 20 |clientIP|;. |
|00016600| 20 20 20 20 20 20 20 20 | 20 20 64 6f 6c 6f 67 28 | | dolog(|
|00016610| 22 25 73 20 77 61 6e 74 | 73 20 74 6f 20 72 65 63 |"%s want|s to rec|
|00016620| 69 65 76 65 20 61 75 64 | 69 6f 20 66 72 6f 6d 20 |ieve aud|io from |
|00016630| 25 73 20 62 75 74 20 63 | 6c 69 65 6e 74 20 6e 6f |%s but c|lient no|
|00016640| 74 20 66 6f 75 6e 64 5c | 6e 22 2c 63 6c 74 70 74 |t found\|n",cltpt|
|00016650| 72 2d 3e 63 6c 6e 74 5f | 63 6f 6e 66 69 67 2e 6e |r->clnt_|config.n|
|00016660| 61 6d 65 2c 69 6e 65 74 | 5f 6e 74 6f 61 28 69 6e |ame,inet|_ntoa(in|
|00016670| 29 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |));. | |
|00016680| 20 20 20 20 63 6c 74 70 | 74 72 2d 3e 63 6c 6e 74 | cltp|tr->clnt|
|00016690| 5f 63 6f 6e 66 69 67 2e | 73 65 71 4e 75 6d 20 3d |_config.|seqNum =|
|000166a0| 20 6f 6c 64 5f 73 65 71 | 3b 0a 20 20 20 20 20 20 | old_seq|;. |
|000166b0| 20 20 20 20 20 20 20 7d | 0a 20 20 20 20 20 20 20 | }|. |
|000166c0| 20 20 20 20 20 20 65 6c | 73 65 0a 20 20 20 20 20 | el|se. |
|000166d0| 20 20 20 20 20 20 20 20 | 7b 0a 20 20 20 20 20 20 | |{. |
|000166e0| 20 20 20 20 20 20 20 20 | 20 20 64 6f 6c 6f 67 28 | | dolog(|
|000166f0| 22 25 73 20 77 61 6e 74 | 73 20 74 6f 20 72 65 63 |"%s want|s to rec|
|00016700| 69 65 76 65 20 61 75 64 | 69 6f 20 66 72 6f 6d 20 |ieve aud|io from |
|00016710| 25 73 5c 6e 22 2c 63 6c | 74 70 74 72 2d 3e 63 6c |%s\n",cl|tptr->cl|
|00016720| 6e 74 5f 63 6f 6e 66 69 | 67 2e 6e 61 6d 65 2c 63 |nt_confi|g.name,c|
|00016730| 74 6d 70 2d 3e 63 6c 6e | 74 5f 63 6f 6e 66 69 67 |tmp->cln|t_config|
|00016740| 2e 6e 61 6d 65 29 3b 0a | 20 20 0a 09 09 73 74 6d |.name);.| ...stm|
|00016750| 70 20 3d 20 28 73 6c 69 | 73 74 20 2a 29 20 67 65 |p = (sli|st *) ge|
|00016760| 74 5f 73 6c 69 73 74 28 | 29 3b 0a 20 20 20 20 20 |t_slist(|);. |
|00016770| 20 20 20 20 20 20 20 20 | 20 20 20 73 74 6d 70 2d | | stmp-|
|00016780| 3e 73 6e 64 5f 6e 70 74 | 72 20 3d 20 63 74 6d 70 |>snd_npt|r = ctmp|
|00016790| 2d 3e 63 6c 6e 74 5f 61 | 6c 69 73 74 3b 0a 20 20 |->clnt_a|list;. |
|000167a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 63 74 | | ct|
|000167b0| 6d 70 2d 3e 63 6c 6e 74 | 5f 61 6c 69 73 74 20 3d |mp->clnt|_alist =|
|000167c0| 20 73 74 6d 70 3b 0a 20 | 20 20 20 20 20 20 20 20 | stmp;. | |
|000167d0| 20 20 20 20 20 20 20 73 | 74 6d 70 2d 3e 73 6e 64 | s|tmp->snd|
|000167e0| 5f 63 6c 69 65 6e 74 20 | 3d 20 63 6c 74 70 74 72 |_client |= cltptr|
|000167f0| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 7d |;. | }|
|00016800| 0a 09 20 20 7d 0a 0a 20 | 20 20 20 20 20 20 7d 09 |.. }.. | }.|
|00016810| 0a 20 20 20 20 20 20 20 | 65 6c 73 65 0a 20 20 20 |. |else. |
|00016820| 20 20 20 20 7b 0a 09 20 | 20 69 66 20 28 63 69 70 | {.. | if (cip|
|00016830| 74 72 2d 3e 66 6c 61 67 | 73 20 26 20 55 50 44 41 |tr->flag|s & UPDA|
|00016840| 54 45 5f 56 49 44 45 4f | 29 0a 09 20 20 7b 0a 20 |TE_VIDEO|).. {. |
|00016850| 20 20 20 20 20 20 20 20 | 20 20 20 20 69 66 20 28 | | if (|
|00016860| 28 63 74 6d 70 20 3d 20 | 66 69 6e 64 5f 63 6c 69 |(ctmp = |find_cli|
|00016870| 65 6e 74 28 63 69 70 74 | 72 2d 3e 63 6c 69 65 6e |ent(cipt|r->clien|
|00016880| 74 49 50 2c 63 68 65 61 | 64 29 29 20 3d 3d 20 4e |tIP,chea|d)) == N|
|00016890| 55 4c 4c 29 0a 20 20 20 | 20 20 20 20 20 20 20 20 |ULL). | |
|000168a0| 20 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|000168b0| 20 20 20 20 69 6e 2e 73 | 5f 61 64 64 72 20 3d 20 | in.s|_addr = |
|000168c0| 63 69 70 74 72 2d 3e 63 | 6c 69 65 6e 74 49 50 3b |ciptr->c|lientIP;|
|000168d0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000168e0| 20 64 6f 6c 6f 67 28 22 | 25 73 20 77 61 6e 74 73 | dolog("|%s wants|
|000168f0| 20 74 6f 20 75 70 64 61 | 74 65 20 63 6c 69 65 6e | to upda|te clien|
|00016900| 74 20 61 74 20 25 73 20 | 62 75 74 20 63 6c 69 65 |t at %s |but clie|
|00016910| 6e 74 20 6e 6f 74 20 66 | 6f 75 6e 64 5c 6e 22 2c |nt not f|ound\n",|
|00016920| 63 6c 74 70 74 72 2d 3e | 63 6c 6e 74 5f 63 6f 6e |cltptr->|clnt_con|
|00016930| 66 69 67 2e 6e 61 6d 65 | 2c 69 6e 65 74 5f 6e 74 |fig.name|,inet_nt|
|00016940| 6f 61 28 69 6e 29 29 3b | 0a 20 20 20 20 20 20 20 |oa(in));|. |
|00016950| 20 20 20 20 20 20 20 20 | 20 63 6c 74 70 74 72 2d | | cltptr-|
|00016960| 3e 63 6c 6e 74 5f 63 6f | 6e 66 69 67 2e 73 65 71 |>clnt_co|nfig.seq|
|00016970| 4e 75 6d 20 3d 20 6f 6c | 64 5f 73 65 71 3b 0a 20 |Num = ol|d_seq;. |
|00016980| 20 20 20 20 20 20 20 20 | 20 20 20 20 7d 0a 09 20 | | }.. |
|00016990| 20 20 20 20 65 6c 73 65 | 0a 09 20 20 20 20 20 7b | else|.. {|
|000169a0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000169b0| 20 69 66 20 28 63 69 70 | 74 72 2d 3e 49 57 69 6c | if (cip|tr->IWil|
|000169c0| 6c 52 65 63 76 29 0a 09 | 09 7b 0a 20 20 20 20 20 |lRecv)..|.{. |
|000169d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 69 66 | | if|
|000169e0| 20 28 63 6c 74 70 74 72 | 2d 3e 63 6c 6e 74 5f 63 | (cltptr|->clnt_c|
|000169f0| 6f 6e 66 69 67 2e 76 65 | 72 73 69 6f 6e 20 20 3e |onfig.ve|rsion >|
|00016a00| 3d 20 56 45 52 53 49 4f | 4e 35 29 0a 20 20 20 20 |= VERSIO|N5). |
|00016a10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00016a20| 20 20 64 6f 6c 6f 67 28 | 22 25 73 20 77 61 6e 74 | dolog(|"%s want|
|00016a30| 73 20 74 6f 20 72 65 63 | 69 65 76 65 20 76 69 64 |s to rec|ieve vid|
|00016a40| 65 6f 20 66 72 6f 6d 20 | 25 73 5c 6e 22 2c 63 6c |eo from |%s\n",cl|
|00016a50| 74 70 74 72 2d 3e 63 6c | 6e 74 5f 63 6f 6e 66 69 |tptr->cl|nt_confi|
|00016a60| 67 2e 6e 61 6d 65 2c 63 | 74 6d 70 2d 3e 63 6c 6e |g.name,c|tmp->cln|
|00016a70| 74 5f 63 6f 6e 66 69 67 | 2e 6e 61 6d 65 29 3b 0a |t_config|.name);.|
|00016a80| 09 09 20 20 20 65 6c 73 | 65 0a 20 20 20 20 20 20 |.. els|e. |
|00016a90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00016aa0| 64 6f 6c 6f 67 28 22 25 | 73 20 77 61 6e 74 73 20 |dolog("%|s wants |
|00016ab0| 74 6f 20 72 65 63 69 65 | 76 65 20 76 69 64 65 6f |to recie|ve video|
|00016ac0| 20 61 6e 64 20 61 75 64 | 69 6f 20 66 72 6f 6d 20 | and aud|io from |
|00016ad0| 25 73 5c 6e 22 2c 63 6c | 74 70 74 72 2d 3e 63 6c |%s\n",cl|tptr->cl|
|00016ae0| 6e 74 5f 63 6f 6e 66 69 | 67 2e 6e 61 6d 65 2c 63 |nt_confi|g.name,c|
|00016af0| 74 6d 70 2d 3e 63 6c 6e | 74 5f 63 6f 6e 66 69 67 |tmp->cln|t_config|
|00016b00| 2e 6e 61 6d 65 29 3b 0a | 0a 09 09 20 20 20 73 74 |.name);.|... st|
|00016b10| 6d 70 20 3d 20 28 73 6c | 69 73 74 20 2a 29 20 67 |mp = (sl|ist *) g|
|00016b20| 65 74 5f 73 6c 69 73 74 | 28 29 3b 0a 20 20 20 20 |et_slist|();. |
|00016b30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 73 | | s|
|00016b40| 74 6d 70 2d 3e 73 6e 64 | 5f 6e 70 74 72 20 3d 20 |tmp->snd|_nptr = |
|00016b50| 63 74 6d 70 2d 3e 63 6c | 6e 74 5f 76 6c 69 73 74 |ctmp->cl|nt_vlist|
|00016b60| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;. | |
|00016b70| 20 20 20 20 20 63 74 6d | 70 2d 3e 63 6c 6e 74 5f | ctm|p->clnt_|
|00016b80| 76 6c 69 73 74 20 3d 20 | 73 74 6d 70 3b 0a 20 20 |vlist = |stmp;. |
|00016b90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00016ba0| 20 73 74 6d 70 2d 3e 73 | 6e 64 5f 63 6c 69 65 6e | stmp->s|nd_clien|
|00016bb0| 74 20 3d 20 63 6c 74 70 | 74 72 3b 0a 0a 20 20 20 |t = cltp|tr;.. |
|00016bc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00016bd0| 69 66 20 28 63 6c 74 70 | 74 72 2d 3e 63 6c 6e 74 |if (cltp|tr->clnt|
|00016be0| 5f 63 6f 6e 66 69 67 2e | 76 65 72 73 69 6f 6e 20 |_config.|version |
|00016bf0| 20 3c 20 56 45 52 53 49 | 4f 4e 35 29 0a 09 09 20 | < VERSI|ON5)... |
|00016c00| 20 20 7b 0a 09 09 20 20 | 20 20 20 20 73 74 6d 70 | {... | stmp|
|00016c10| 20 3d 20 28 73 6c 69 73 | 74 20 2a 29 20 67 65 74 | = (slis|t *) get|
|00016c20| 5f 73 6c 69 73 74 28 29 | 3b 0a 20 20 20 20 20 20 |_slist()|;. |
|00016c30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00016c40| 73 74 6d 70 2d 3e 73 6e | 64 5f 6e 70 74 72 20 3d |stmp->sn|d_nptr =|
|00016c50| 20 63 74 6d 70 2d 3e 63 | 6c 6e 74 5f 61 6c 69 73 | ctmp->c|lnt_alis|
|00016c60| 74 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |t;. | |
|00016c70| 20 20 20 20 20 20 20 20 | 20 63 74 6d 70 2d 3e 63 | | ctmp->c|
|00016c80| 6c 6e 74 5f 61 6c 69 73 | 74 20 3d 20 73 74 6d 70 |lnt_alis|t = stmp|
|00016c90| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |;. | |
|00016ca0| 20 20 20 20 20 20 20 20 | 73 74 6d 70 2d 3e 73 6e | |stmp->sn|
|00016cb0| 64 5f 63 6c 69 65 6e 74 | 20 3d 20 63 6c 74 70 74 |d_client| = cltpt|
|00016cc0| 72 3b 0a 09 09 20 20 20 | 7d 0a 09 09 7d 0a 09 09 |r;... |}...}...|
|00016cd0| 65 6c 73 65 0a 09 09 7b | 0a 20 20 20 20 20 20 20 |else...{|. |
|00016ce0| 20 20 20 20 20 20 20 20 | 20 20 20 20 69 66 20 28 | | if (|
|00016cf0| 63 6c 74 70 74 72 2d 3e | 63 6c 6e 74 5f 63 6f 6e |cltptr->|clnt_con|
|00016d00| 66 69 67 2e 76 65 72 73 | 69 6f 6e 20 20 3e 3d 20 |fig.vers|ion >= |
|00016d10| 56 45 52 53 49 4f 4e 35 | 29 0a 09 09 20 20 20 7b |VERSION5|)... {|
|00016d20| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00016d30| 20 20 20 20 20 20 20 64 | 6f 6c 6f 67 28 22 25 73 | d|olog("%s|
|00016d40| 20 6e 6f 20 6c 6f 6e 67 | 65 72 20 77 61 6e 74 73 | no long|er wants|
|00016d50| 20 74 6f 20 72 65 63 69 | 65 76 65 20 76 69 64 65 | to reci|eve vide|
|00016d60| 6f 20 66 72 6f 6d 20 25 | 73 5c 6e 22 2c 63 6c 74 |o from %|s\n",clt|
|00016d70| 70 74 72 2d 3e 63 6c 6e | 74 5f 63 6f 6e 66 69 67 |ptr->cln|t_config|
|00016d80| 2e 6e 61 6d 65 2c 63 74 | 6d 70 2d 3e 63 6c 6e 74 |.name,ct|mp->clnt|
|00016d90| 5f 63 6f 6e 66 69 67 2e | 6e 61 6d 65 29 3b 0a 20 |_config.|name);. |
|00016da0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00016db0| 20 20 20 20 20 63 74 6d | 70 2d 3e 63 6c 6e 74 5f | ctm|p->clnt_|
|00016dc0| 76 6c 69 73 74 20 3d 20 | 75 6e 6c 69 6e 6b 5f 73 |vlist = |unlink_s|
|00016dd0| 6c 69 73 74 28 63 74 6d | 70 2d 3e 63 6c 6e 74 5f |list(ctm|p->clnt_|
|00016de0| 76 6c 69 73 74 2c 63 6c | 74 70 74 72 29 3b 0a 20 |vlist,cl|tptr);. |
|00016df0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00016e00| 20 20 7d 0a 09 09 20 20 | 20 65 6c 73 65 0a 09 09 | }... | else...|
|00016e10| 20 20 20 7b 0a 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00016e20| 20 20 20 20 20 20 20 20 | 20 20 20 64 6f 6c 6f 67 | | dolog|
|00016e30| 28 22 25 73 20 6e 6f 20 | 6c 6f 6e 67 65 72 20 77 |("%s no |longer w|
|00016e40| 61 6e 74 73 20 74 6f 20 | 72 65 63 69 65 76 65 20 |ants to |recieve |
|00016e50| 76 69 64 65 6f 20 6f 72 | 20 61 75 64 69 6f 20 66 |video or| audio f|
|00016e60| 72 6f 6d 20 25 73 5c 6e | 22 2c 63 6c 74 70 74 72 |rom %s\n|",cltptr|
|00016e70| 2d 3e 63 6c 6e 74 5f 63 | 6f 6e 66 69 67 2e 6e 61 |->clnt_c|onfig.na|
|00016e80| 6d 65 2c 63 74 6d 70 2d | 3e 63 6c 6e 74 5f 63 6f |me,ctmp-|>clnt_co|
|00016e90| 6e 66 69 67 2e 6e 61 6d | 65 29 3b 0a 20 20 20 20 |nfig.nam|e);. |
|00016ea0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00016eb0| 20 20 63 74 6d 70 2d 3e | 63 6c 6e 74 5f 76 6c 69 | ctmp->|clnt_vli|
|00016ec0| 73 74 20 3d 20 75 6e 6c | 69 6e 6b 5f 73 6c 69 73 |st = unl|ink_slis|
|00016ed0| 74 28 63 74 6d 70 2d 3e | 63 6c 6e 74 5f 76 6c 69 |t(ctmp->|clnt_vli|
|00016ee0| 73 74 2c 63 6c 74 70 74 | 72 29 3b 0a 20 20 20 20 |st,cltpt|r);. |
|00016ef0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00016f00| 20 20 63 74 6d 70 2d 3e | 63 6c 6e 74 5f 61 6c 69 | ctmp->|clnt_ali|
|00016f10| 73 74 20 3d 20 75 6e 6c | 69 6e 6b 5f 73 6c 69 73 |st = unl|ink_slis|
|00016f20| 74 28 63 74 6d 70 2d 3e | 63 6c 6e 74 5f 61 6c 69 |t(ctmp->|clnt_ali|
|00016f30| 73 74 2c 63 6c 74 70 74 | 72 29 3b 0a 20 20 20 20 |st,cltpt|r);. |
|00016f40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 7d | | }|
|00016f50| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00016f60| 20 7d 0a 09 20 20 20 20 | 20 7d 0a 09 20 20 7d 0a | }.. | }.. }.|
|00016f70| 0a 09 20 20 69 66 20 28 | 63 69 70 74 72 2d 3e 66 |.. if (|ciptr->f|
|00016f80| 6c 61 67 73 20 26 20 55 | 50 44 41 54 45 5f 41 55 |lags & U|PDATE_AU|
|00016f90| 44 49 4f 29 0a 09 20 20 | 7b 0a 20 20 20 20 20 20 |DIO).. |{. |
|00016fa0| 20 20 20 20 20 20 20 69 | 66 20 28 28 63 74 6d 70 | i|f ((ctmp|
|00016fb0| 20 3d 20 66 69 6e 64 5f | 63 6c 69 65 6e 74 28 63 | = find_|client(c|
|00016fc0| 69 70 74 72 2d 3e 63 6c | 69 65 6e 74 49 50 2c 63 |iptr->cl|ientIP,c|
|00016fd0| 68 65 61 64 29 29 20 3d | 3d 20 4e 55 4c 4c 29 0a |head)) =|= NULL).|
|00016fe0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 7b 0a 20 | | {. |
|00016ff0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 69 | | i|
|00017000| 6e 2e 73 5f 61 64 64 72 | 20 3d 20 63 69 70 74 72 |n.s_addr| = ciptr|
|00017010| 2d 3e 63 6c 69 65 6e 74 | 49 50 3b 0a 20 20 20 20 |->client|IP;. |
|00017020| 20 20 20 20 20 20 20 20 | 20 20 20 20 64 6f 6c 6f | | dolo|
|00017030| 67 28 22 25 73 20 77 61 | 6e 74 73 20 74 6f 20 75 |g("%s wa|nts to u|
|00017040| 70 64 61 74 65 20 63 6c | 69 65 6e 74 20 61 74 20 |pdate cl|ient at |
|00017050| 25 73 20 62 75 74 20 63 | 6c 69 65 6e 74 20 6e 6f |%s but c|lient no|
|00017060| 74 20 66 6f 75 6e 64 5c | 6e 22 2c 63 6c 74 70 74 |t found\|n",cltpt|
|00017070| 72 2d 3e 63 6c 6e 74 5f | 63 6f 6e 66 69 67 2e 6e |r->clnt_|config.n|
|00017080| 61 6d 65 2c 69 6e 65 74 | 5f 6e 74 6f 61 28 69 6e |ame,inet|_ntoa(in|
|00017090| 29 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |));. | |
|000170a0| 20 20 20 20 63 6c 74 70 | 74 72 2d 3e 63 6c 6e 74 | cltp|tr->clnt|
|000170b0| 5f 63 6f 6e 66 69 67 2e | 73 65 71 4e 75 6d 20 3d |_config.|seqNum =|
|000170c0| 20 6f 6c 64 5f 73 65 71 | 3b 0a 20 20 20 20 20 20 | old_seq|;. |
|000170d0| 20 20 20 20 20 20 20 7d | 0a 09 20 20 20 20 20 65 | }|.. e|
|000170e0| 6c 73 65 0a 09 20 20 20 | 20 20 7b 0a 20 20 20 20 |lse.. | {. |
|000170f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 69 66 20 28 | | if (|
|00017100| 63 69 70 74 72 2d 3e 66 | 6c 61 67 73 20 26 20 49 |ciptr->f|lags & I|
|00017110| 57 69 6c 6c 52 65 63 41 | 75 64 69 6f 29 0a 09 09 |WillRecA|udio)...|
|00017120| 7b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |{. | |
|00017130| 20 20 20 20 20 64 6f 6c | 6f 67 28 22 25 73 20 77 | dol|og("%s w|
|00017140| 61 6e 74 73 20 74 6f 20 | 72 65 63 69 65 76 65 20 |ants to |recieve |
|00017150| 61 75 64 69 6f 20 66 72 | 6f 6d 20 25 73 5c 6e 22 |audio fr|om %s\n"|
|00017160| 2c 63 6c 74 70 74 72 2d | 3e 63 6c 6e 74 5f 63 6f |,cltptr-|>clnt_co|
|00017170| 6e 66 69 67 2e 6e 61 6d | 65 2c 63 74 6d 70 2d 3e |nfig.nam|e,ctmp->|
|00017180| 63 6c 6e 74 5f 63 6f 6e | 66 69 67 2e 6e 61 6d 65 |clnt_con|fig.name|
|00017190| 29 3b 0a 20 20 20 0a 09 | 09 20 20 20 73 74 6d 70 |);. ..|. stmp|
|000171a0| 20 3d 20 28 73 6c 69 73 | 74 20 2a 29 20 67 65 74 | = (slis|t *) get|
|000171b0| 5f 73 6c 69 73 74 28 29 | 3b 0a 20 20 20 20 20 20 |_slist()|;. |
|000171c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 73 74 6d | | stm|
|000171d0| 70 2d 3e 73 6e 64 5f 6e | 70 74 72 20 3d 20 63 74 |p->snd_n|ptr = ct|
|000171e0| 6d 70 2d 3e 63 6c 6e 74 | 5f 61 6c 69 73 74 3b 0a |mp->clnt|_alist;.|
|000171f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00017200| 20 20 20 63 74 6d 70 2d | 3e 63 6c 6e 74 5f 61 6c | ctmp-|>clnt_al|
|00017210| 69 73 74 20 3d 20 73 74 | 6d 70 3b 0a 20 20 20 20 |ist = st|mp;. |
|00017220| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 73 | | s|
|00017230| 74 6d 70 2d 3e 73 6e 64 | 5f 63 6c 69 65 6e 74 20 |tmp->snd|_client |
|00017240| 3d 20 63 6c 74 70 74 72 | 3b 0a 09 09 7d 0a 09 09 |= cltptr|;...}...|
|00017250| 65 6c 73 65 0a 09 09 7b | 0a 20 20 20 20 20 20 20 |else...{|. |
|00017260| 20 20 20 20 20 20 20 20 | 20 20 20 20 64 6f 6c 6f | | dolo|
|00017270| 67 28 22 25 73 20 6e 6f | 20 6c 6f 6e 67 65 72 20 |g("%s no| longer |
|00017280| 77 61 6e 74 73 20 74 6f | 20 72 65 63 69 65 76 65 |wants to| recieve|
|00017290| 20 61 75 64 69 6f 20 66 | 72 6f 6d 20 25 73 5c 6e | audio f|rom %s\n|
|000172a0| 22 2c 63 6c 74 70 74 72 | 2d 3e 63 6c 6e 74 5f 63 |",cltptr|->clnt_c|
|000172b0| 6f 6e 66 69 67 2e 6e 61 | 6d 65 2c 63 74 6d 70 2d |onfig.na|me,ctmp-|
|000172c0| 3e 63 6c 6e 74 5f 63 6f | 6e 66 69 67 2e 6e 61 6d |>clnt_co|nfig.nam|
|000172d0| 65 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |e);. | |
|000172e0| 20 20 20 20 20 20 20 63 | 74 6d 70 2d 3e 63 6c 6e | c|tmp->cln|
|000172f0| 74 5f 61 6c 69 73 74 20 | 3d 20 75 6e 6c 69 6e 6b |t_alist |= unlink|
|00017300| 5f 73 6c 69 73 74 28 63 | 74 6d 70 2d 3e 63 6c 6e |_slist(c|tmp->cln|
|00017310| 74 5f 61 6c 69 73 74 2c | 63 6c 74 70 74 72 29 3b |t_alist,|cltptr);|
|00017320| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00017330| 20 7d 0a 09 20 20 20 20 | 20 7d 0a 09 20 20 7d 0a | }.. | }.. }.|
|00017340| 20 20 20 20 20 20 20 7d | 0a 20 20 20 20 20 20 20 | }|. |
|00017350| 63 69 70 74 72 2b 2b 3b | 0a 20 20 20 20 7d 0a 7d |ciptr++;|. }.}|
|00017360| 0a 0a 76 6f 69 64 20 70 | 72 6f 63 5f 73 69 67 28 |..void p|roc_sig(|
|00017370| 29 0a 7b 0a 20 20 20 20 | 6d 79 5f 70 65 72 72 6f |).{. |my_perro|
|00017380| 72 28 22 4b 69 6c 6c 20 | 53 69 67 6e 61 6c 20 72 |r("Kill |Signal r|
|00017390| 65 63 65 69 76 65 64 5c | 6e 22 29 3b 0a 20 20 20 |eceived\|n");. |
|000173a0| 20 65 78 69 74 28 31 29 | 3b 0a 7d 0a 0a 76 6f 69 | exit(1)|;.}..voi|
|000173b0| 64 20 64 6f 5f 74 69 6d | 65 72 28 29 0a 7b 0a 20 |d do_tim|er().{. |
|000173c0| 20 20 20 73 74 61 74 69 | 63 20 73 68 6f 72 74 20 | stati|c short |
|000173d0| 72 65 66 72 65 66 6b 63 | 6e 74 20 3d 20 30 3b 0a |refrefkc|nt = 0;.|
|000173e0| 20 20 20 20 73 74 61 74 | 69 63 20 73 68 6f 72 74 | stat|ic short|
|000173f0| 20 76 61 74 69 6e 74 65 | 72 76 61 6c 20 3d 20 30 | vatinte|rval = 0|
|00017400| 3b 0a 20 20 20 20 63 6c | 69 65 6e 74 20 2a 63 74 |;. cl|ient *ct|
|00017410| 6d 70 2c 2a 63 74 6d 70 | 31 3b 0a 20 20 20 20 6d |mp,*ctmp|1;. m|
|00017420| 61 76 65 6e 5f 63 6c 69 | 65 6e 74 20 2a 6d 74 6d |aven_cli|ent *mtm|
|00017430| 70 2c 2a 6d 74 6d 70 31 | 3b 0a 20 20 20 20 73 74 |p,*mtmp1|;. st|
|00017440| 72 75 63 74 20 69 6e 5f | 61 64 64 72 20 20 20 69 |ruct in_|addr i|
|00017450| 6e 3b 0a 0a 20 20 20 20 | 2f 2a 20 64 65 6c 65 74 |n;.. |/* delet|
|00017460| 65 20 61 6e 79 20 63 6c | 69 65 6e 74 73 20 74 68 |e any cl|ients th|
|00017470| 61 74 20 68 61 76 65 20 | 74 69 6d 65 64 20 6f 75 |at have |timed ou|
|00017480| 74 20 2a 2f 0a 20 20 20 | 20 20 20 20 0a 20 20 20 |t */. | . |
|00017490| 20 63 74 6d 70 20 3d 20 | 63 68 65 61 64 3b 0a 20 | ctmp = |chead;. |
|000174a0| 20 20 20 77 68 69 6c 65 | 20 28 63 74 6d 70 20 21 | while| (ctmp !|
|000174b0| 3d 20 4e 55 4c 4c 29 0a | 20 20 20 20 7b 0a 20 20 |= NULL).| {. |
|000174c0| 20 20 20 20 20 63 74 6d | 70 2d 3e 63 6c 6e 74 5f | ctm|p->clnt_|
|000174d0| 73 74 69 6d 65 72 2b 2b | 3b 0a 0a 20 20 20 20 20 |stimer++|;.. |
|000174e0| 20 20 2f 2a 20 64 65 6c | 65 74 65 20 61 6e 79 20 | /* del|ete any |
|000174f0| 72 65 67 75 6c 61 72 20 | 6f 72 20 42 43 43 5f 43 |regular |or BCC_C|
|00017500| 4c 49 45 4e 54 53 20 63 | 6c 69 65 6e 74 73 20 74 |LIENTS c|lients t|
|00017510| 68 61 74 20 68 61 76 65 | 20 74 69 6d 65 64 20 6f |hat have| timed o|
|00017520| 75 74 20 2a 2f 0a 0a 20 | 20 20 20 20 20 20 69 66 |ut */.. | if|
|00017530| 20 28 28 63 74 6d 70 2d | 3e 63 6c 6e 74 5f 66 6c | ((ctmp-|>clnt_fl|
|00017540| 61 67 73 20 26 20 28 43 | 4c 49 45 4e 54 20 7c 20 |ags & (C|LIENT | |
|00017550| 42 43 43 5f 43 4c 49 45 | 4e 54 29 29 20 21 3d 20 |BCC_CLIE|NT)) != |
|00017560| 30 29 0a 20 20 20 20 20 | 20 20 7b 0a 20 20 20 20 |0). | {. |
|00017570| 20 20 20 20 20 20 69 66 | 20 28 63 74 6d 70 2d 3e | if| (ctmp->|
|00017580| 63 6c 6e 74 5f 72 74 69 | 6d 65 72 2b 2b 20 3e 20 |clnt_rti|mer++ > |
|00017590| 54 49 4d 45 4f 55 54 29 | 0a 20 20 20 20 20 20 20 |TIMEOUT)|. |
|000175a0| 20 20 20 7b 0a 09 20 20 | 20 20 20 63 74 6d 70 31 | {.. | ctmp1|
|000175b0| 20 3d 20 63 74 6d 70 3b | 0a 20 20 20 20 20 20 20 | = ctmp;|. |
|000175c0| 20 20 20 20 20 20 63 74 | 6d 70 20 3d 20 63 74 6d | ct|mp = ctm|
|000175d0| 70 2d 3e 63 6c 6e 74 5f | 6e 70 74 72 3b 0a 09 20 |p->clnt_|nptr;.. |
|000175e0| 20 20 20 20 69 66 20 28 | 63 74 6d 70 31 2d 3e 63 | if (|ctmp1->c|
|000175f0| 6c 6e 74 5f 66 6c 61 67 | 73 20 26 20 43 4c 49 45 |lnt_flag|s & CLIE|
|00017600| 4e 54 29 0a 09 20 20 20 | 20 20 20 20 20 64 6f 6c |NT).. | dol|
|00017610| 6f 67 28 22 63 6c 69 65 | 6e 74 20 74 69 6d 65 6f |og("clie|nt timeo|
|00017620| 75 74 20 2d 2d 20 64 65 | 6c 65 74 69 6e 67 5c 6e |ut -- de|leting\n|
|00017630| 22 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |");. | |
|00017640| 20 65 6c 73 65 0a 09 20 | 20 20 20 20 20 20 20 64 | else.. | d|
|00017650| 6f 6c 6f 67 28 22 42 43 | 43 20 63 6c 69 65 6e 74 |olog("BC|C client|
|00017660| 20 74 69 6d 65 6f 75 74 | 20 2d 2d 20 64 65 6c 65 | timeout| -- dele|
|00017670| 74 69 6e 67 5c 6e 22 29 | 3b 0a 09 20 20 20 20 20 |ting\n")|;.. |
|00017680| 64 65 6c 65 74 65 5f 63 | 6c 69 65 6e 74 28 63 74 |delete_c|lient(ct|
|00017690| 6d 70 31 29 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |mp1);. | |
|000176a0| 7d 0a 09 20 20 65 6c 73 | 65 0a 09 20 20 20 20 20 |}.. els|e.. |
|000176b0| 63 74 6d 70 20 3d 20 63 | 74 6d 70 2d 3e 63 6c 6e |ctmp = c|tmp->cln|
|000176c0| 74 5f 6e 70 74 72 3b 0a | 20 20 20 20 20 20 20 7d |t_nptr;.| }|
|000176d0| 0a 20 20 20 20 20 20 20 | 65 6c 73 65 0a 20 20 20 |. |else. |
|000176e0| 20 20 20 20 20 20 20 2f | 2a 20 64 65 6c 65 74 65 | /|* delete|
|000176f0| 20 61 6e 79 20 63 6c 69 | 65 6e 74 73 20 74 68 61 | any cli|ents tha|
|00017700| 74 20 6f 72 69 67 69 6e | 61 74 65 64 20 66 72 6f |t origin|ated fro|
|00017710| 6d 20 61 6e 6f 74 68 65 | 72 20 72 65 66 6c 65 63 |m anothe|r reflec|
|00017720| 74 6f 72 20 20 20 2a 2f | 0a 20 20 20 20 20 20 20 |tor */|. |
|00017730| 20 20 20 69 66 20 28 28 | 63 74 6d 70 2d 3e 63 6c | if ((|ctmp->cl|
|00017740| 6e 74 5f 66 6c 61 67 73 | 20 26 20 28 42 43 43 5f |nt_flags| & (BCC_|
|00017750| 4f 52 49 47 49 4e 20 7c | 20 52 45 46 31 5f 4f 52 |ORIGIN || REF1_OR|
|00017760| 49 47 49 4e 20 7c 20 52 | 45 46 32 5f 4f 52 49 47 |IGIN | R|EF2_ORIG|
|00017770| 49 4e 20 7c 20 52 45 46 | 33 5f 4f 52 49 47 49 4e |IN | REF|3_ORIGIN|
|00017780| 29 29 20 20 21 3d 20 30 | 29 0a 20 20 20 20 20 20 |)) != 0|). |
|00017790| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|000177a0| 20 20 20 69 66 20 28 63 | 74 6d 70 2d 3e 63 6c 6e | if (c|tmp->cln|
|000177b0| 74 5f 72 74 69 6d 65 72 | 2b 2b 20 3e 20 28 32 2a |t_rtimer|++ > (2*|
|000177c0| 54 49 4d 45 4f 55 54 29 | 29 0a 20 20 20 20 20 20 |TIMEOUT)|). |
|000177d0| 20 20 20 20 20 20 20 7b | 0a 09 20 20 20 20 20 20 | {|.. |
|000177e0| 20 20 63 74 6d 70 31 20 | 3d 20 63 74 6d 70 3b 0a | ctmp1 |= ctmp;.|
|000177f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00017800| 63 74 6d 70 20 3d 20 63 | 74 6d 70 2d 3e 63 6c 6e |ctmp = c|tmp->cln|
|00017810| 74 5f 6e 70 74 72 3b 0a | 09 20 20 20 20 20 20 20 |t_nptr;.|. |
|00017820| 20 69 66 20 28 63 74 6d | 70 31 2d 3e 63 6c 6e 74 | if (ctm|p1->clnt|
|00017830| 5f 66 6c 61 67 73 20 26 | 20 42 43 43 5f 4f 52 49 |_flags &| BCC_ORI|
|00017840| 47 49 4e 29 0a 09 20 20 | 20 20 20 20 20 20 20 20 |GIN).. | |
|00017850| 20 64 6f 6c 6f 67 28 22 | 42 43 43 20 63 6c 69 65 | dolog("|BCC clie|
|00017860| 6e 74 27 73 20 63 6c 69 | 65 6e 74 20 74 69 6d 65 |nt's cli|ent time|
|00017870| 6f 75 74 20 2d 2d 20 64 | 65 6c 65 74 69 6e 67 5c |out -- d|eleting\|
|00017880| 6e 22 29 3b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |n");. | |
|00017890| 20 20 20 20 20 65 6c 73 | 65 0a 09 20 20 20 20 20 | els|e.. |
|000178a0| 20 20 20 20 20 20 64 6f | 6c 6f 67 28 22 52 45 46 | do|log("REF|
|000178b0| 20 63 6c 69 65 6e 74 27 | 73 20 63 6c 69 65 6e 74 | client'|s client|
|000178c0| 20 74 69 6d 65 6f 75 74 | 20 2d 2d 20 64 65 6c 65 | timeout| -- dele|
|000178d0| 74 69 6e 67 5c 6e 22 29 | 3b 0a 09 20 20 20 20 20 |ting\n")|;.. |
|000178e0| 20 20 20 64 65 6c 65 74 | 65 5f 63 6c 69 65 6e 74 | delet|e_client|
|000178f0| 28 63 74 6d 70 31 29 3b | 0a 20 20 20 20 20 20 20 |(ctmp1);|. |
|00017900| 20 20 20 20 20 20 7d 0a | 09 20 20 20 20 20 65 6c | }.|. el|
|00017910| 73 65 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |se. | |
|00017920| 20 20 20 63 74 6d 70 20 | 3d 20 63 74 6d 70 2d 3e | ctmp |= ctmp->|
|00017930| 63 6c 6e 74 5f 6e 70 74 | 72 3b 0a 20 20 20 20 20 |clnt_npt|r;. |
|00017940| 20 20 20 20 20 7d 0a 09 | 20 20 65 6c 73 65 0a 20 | }..| else. |
|00017950| 20 20 20 20 20 20 20 20 | 20 20 20 20 63 74 6d 70 | | ctmp|
|00017960| 20 3d 20 63 74 6d 70 2d | 3e 63 6c 6e 74 5f 6e 70 | = ctmp-|>clnt_np|
|00017970| 74 72 3b 0a 20 20 20 20 | 7d 0a 0a 20 20 20 20 2f |tr;. |}.. /|
|00017980| 2a 20 73 65 6e 64 20 6b | 65 65 70 20 61 6c 69 76 |* send k|eep aliv|
|00017990| 65 20 70 61 63 6b 65 74 | 73 20 74 6f 20 61 6e 79 |e packet|s to any|
|000179a0| 20 42 43 43 20 73 65 72 | 76 65 72 73 20 74 68 61 | BCC ser|vers tha|
|000179b0| 74 20 77 65 20 68 61 76 | 65 20 2a 2f 0a 0a 20 20 |t we hav|e */.. |
|000179c0| 20 20 69 66 20 28 2b 2b | 72 65 66 72 65 66 6b 63 | if (++|refrefkc|
|000179d0| 6e 74 20 3e 20 4b 41 4c | 49 56 45 29 0a 20 20 20 |nt > KAL|IVE). |
|000179e0| 20 7b 0a 20 20 20 20 20 | 20 20 72 65 66 72 65 66 | {. | refref|
|000179f0| 6b 63 6e 74 20 3d 20 30 | 3b 0a 20 20 20 20 20 20 |kcnt = 0|;. |
|00017a00| 20 6f 70 65 6e 5f 62 63 | 63 5f 73 65 72 76 65 72 | open_bc|c_server|
|00017a10| 73 28 29 3b 20 0a 20 20 | 20 20 20 20 20 6f 70 65 |s(); . | ope|
|00017a20| 6e 5f 75 63 61 73 74 5f | 72 65 66 28 29 3b 20 0a |n_ucast_|ref(); .|
|00017a30| 20 20 20 20 7d 0a 0a 0a | 20 20 20 20 76 61 74 69 | }...| vati|
|00017a40| 6e 74 65 72 76 61 6c 2b | 2b 3b 0a 20 20 20 20 69 |nterval+|+;. i|
|00017a50| 66 20 28 76 61 74 69 6e | 74 65 72 76 61 6c 20 3d |f (vatin|terval =|
|00017a60| 3d 20 31 31 29 0a 20 20 | 20 20 20 20 20 76 61 74 |= 11). | vat|
|00017a70| 69 6e 74 65 72 76 61 6c | 20 3d 20 30 3b 0a 0a 20 |interval| = 0;.. |
|00017a80| 20 20 20 6d 74 6d 70 20 | 3d 20 6d 68 65 61 64 3b | mtmp |= mhead;|
|00017a90| 0a 0a 20 20 20 20 77 68 | 69 6c 65 20 28 6d 74 6d |.. wh|ile (mtm|
|00017aa0| 70 20 21 3d 20 4e 55 4c | 4c 29 0a 20 20 20 20 7b |p != NUL|L). {|
|00017ab0| 0a 20 20 20 20 20 20 69 | 66 20 28 6d 74 6d 70 2d |. i|f (mtmp-|
|00017ac0| 3e 6d 76 6e 5f 72 74 69 | 6d 65 72 2b 2b 20 20 3e |>mvn_rti|mer++ >|
|00017ad0| 20 35 30 29 0a 20 20 20 | 20 20 20 7b 0a 09 20 69 | 50). | {.. i|
|00017ae0| 6e 2e 73 5f 61 64 64 72 | 20 3d 20 20 6d 74 6d 70 |n.s_addr| = mtmp|
|00017af0| 2d 3e 6d 76 6e 5f 61 64 | 64 72 2e 61 64 64 72 3b |->mvn_ad|dr.addr;|
|00017b00| 0a 09 20 64 6f 6c 6f 67 | 28 22 44 65 6c 65 74 69 |.. dolog|("Deleti|
|00017b10| 6e 67 20 4d 61 76 65 6e | 20 63 6c 69 65 6e 74 20 |ng Maven| client |
|00017b20| 61 74 20 25 73 5c 6e 22 | 2c 20 69 6e 65 74 5f 6e |at %s\n"|, inet_n|
|00017b30| 74 6f 61 28 69 6e 29 29 | 3b 0a 0a 09 20 69 66 20 |toa(in))|;... if |
|00017b40| 28 6d 74 6d 70 20 3d 3d | 20 6d 68 65 61 64 29 0a |(mtmp ==| mhead).|
|00017b50| 09 20 7b 0a 09 20 20 20 | 20 6d 68 65 61 64 20 3d |. {.. | mhead =|
|00017b60| 20 6d 74 6d 70 2d 3e 6d | 76 6e 5f 6e 70 74 72 3b | mtmp->m|vn_nptr;|
|00017b70| 0a 09 20 20 20 20 6d 74 | 6d 70 31 20 3d 20 6d 74 |.. mt|mp1 = mt|
|00017b80| 6d 70 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |mp;. | |
|00017b90| 6d 74 6d 70 20 3d 20 6d | 74 6d 70 2d 3e 6d 76 6e |mtmp = m|tmp->mvn|
|00017ba0| 5f 6e 70 74 72 3b 0a 20 | 20 20 20 20 20 20 20 20 |_nptr;. | |
|00017bb0| 20 20 20 66 72 65 65 28 | 6d 74 6d 70 31 29 3b 0a | free(|mtmp1);.|
|00017bc0| 20 20 20 20 20 20 20 20 | 20 7d 0a 20 20 20 20 20 | | }. |
|00017bd0| 20 20 20 20 65 6c 73 65 | 0a 09 20 7b 0a 09 20 20 | else|.. {.. |
|00017be0| 20 20 6d 74 6d 70 31 20 | 3d 20 6d 68 65 61 64 3b | mtmp1 |= mhead;|
|00017bf0| 0a 09 20 20 20 20 77 68 | 69 6c 65 20 28 6d 74 6d |.. wh|ile (mtm|
|00017c00| 70 31 2d 3e 6d 76 6e 5f | 6e 70 74 72 20 21 3d 20 |p1->mvn_|nptr != |
|00017c10| 6d 74 6d 70 29 0a 09 20 | 20 20 20 20 20 20 6d 74 |mtmp).. | mt|
|00017c20| 6d 70 31 20 3d 20 6d 74 | 6d 70 31 2d 3e 6d 76 6e |mp1 = mt|mp1->mvn|
|00017c30| 5f 6e 70 74 72 3b 0a 20 | 20 20 20 20 20 20 20 20 |_nptr;. | |
|00017c40| 20 20 20 6d 74 6d 70 31 | 2d 3e 6d 76 6e 5f 6e 70 | mtmp1|->mvn_np|
|00017c50| 74 72 20 3d 20 6d 74 6d | 70 2d 3e 6d 76 6e 5f 6e |tr = mtm|p->mvn_n|
|00017c60| 70 74 72 3b 0a 09 20 20 | 20 20 6d 74 6d 70 31 20 |ptr;.. | mtmp1 |
|00017c70| 3d 20 6d 74 6d 70 3b 0a | 20 20 20 20 20 20 20 20 |= mtmp;.| |
|00017c80| 20 20 20 20 6d 74 6d 70 | 20 3d 20 6d 74 6d 70 2d | mtmp| = mtmp-|
|00017c90| 3e 6d 76 6e 5f 6e 70 74 | 72 3b 0a 20 20 20 20 20 |>mvn_npt|r;. |
|00017ca0| 20 20 20 20 20 20 20 66 | 72 65 65 28 6d 74 6d 70 | f|ree(mtmp|
|00017cb0| 31 29 3b 0a 20 20 20 20 | 20 20 20 20 20 7d 0a 20 |1);. | }. |
|00017cc0| 20 20 20 20 20 7d 0a 20 | 20 20 20 20 20 65 6c 73 | }. | els|
|00017cd0| 65 0a 20 20 20 20 20 20 | 7b 0a 09 20 69 66 20 28 |e. |{.. if (|
|00017ce0| 76 61 74 69 6e 74 65 72 | 76 61 6c 20 3d 3d 20 31 |vatinter|val == 1|
|00017cf0| 30 29 0a 09 20 20 20 20 | 76 61 74 5f 69 64 28 6d |0).. |vat_id(m|
|00017d00| 74 6d 70 29 3b 0a 0a 20 | 20 20 20 20 20 20 20 20 |tmp);.. | |
|00017d10| 6d 74 6d 70 20 3d 20 6d | 74 6d 70 2d 3e 6d 76 6e |mtmp = m|tmp->mvn|
|00017d20| 5f 6e 70 74 72 3b 0a 20 | 20 20 20 20 20 7d 0a 20 |_nptr;. | }. |
|00017d30| 20 20 20 7d 0a 0a 7d 0a | 0a 76 61 74 5f 69 64 28 | }..}.|.vat_id(|
|00017d40| 6d 70 74 72 29 0a 20 20 | 20 20 6d 61 76 65 6e 5f |mptr). | maven_|
|00017d50| 63 6c 69 65 6e 74 20 2a | 6d 70 74 72 3b 0a 7b 0a |client *|mptr;.{.|
|00017d60| 20 20 20 20 73 74 61 74 | 69 63 20 63 68 61 72 20 | stat|ic char |
|00017d70| 20 20 20 20 20 20 20 20 | 62 75 66 5b 4d 41 58 4d | |buf[MAXM|
|00017d80| 53 47 5d 3b 0a 20 20 20 | 20 73 74 72 75 63 74 20 |SG];. | struct |
|00017d90| 43 74 72 6c 4d 73 67 48 | 64 72 20 20 20 2a 76 61 |CtrlMsgH|dr *va|
|00017da0| 74 49 64 6d 73 67 3b 0a | 20 20 20 20 69 6e 74 09 |tIdmsg;.| int.|
|00017db0| 09 09 6d 73 67 6c 65 6e | 3b 0a 20 20 20 20 73 74 |..msglen|;. st|
|00017dc0| 72 75 63 74 20 69 6e 5f | 61 64 64 72 20 20 20 20 |ruct in_|addr |
|00017dd0| 20 20 69 6e 3b 0a 20 20 | 20 20 73 74 72 75 63 74 | in;. | struct|
|00017de0| 20 73 6f 63 6b 61 64 64 | 72 5f 69 6e 20 20 6d 76 | sockadd|r_in mv|
|00017df0| 6e 73 6b 74 3b 0a 0a 23 | 69 66 64 65 66 20 44 45 |nskt;..#|ifdef DE|
|00017e00| 42 55 47 0a 20 20 20 20 | 69 66 20 28 64 65 62 75 |BUG. |if (debu|
|00017e10| 67 29 0a 20 20 20 20 7b | 0a 20 20 20 20 20 20 20 |g). {|. |
|00017e20| 69 6e 2e 73 5f 61 64 64 | 72 20 3d 20 6d 70 74 72 |in.s_add|r = mptr|
|00017e30| 2d 3e 6d 76 6e 5f 61 64 | 64 72 2e 61 64 64 72 3b |->mvn_ad|dr.addr;|
|00017e40| 0a 20 20 20 20 20 20 20 | 70 72 69 6e 74 66 28 22 |. |printf("|
|00017e50| 73 65 6e 64 69 6e 67 20 | 69 64 20 6d 65 73 73 61 |sending |id messa|
|00017e60| 67 65 20 74 6f 20 6d 61 | 76 65 6e 20 61 74 20 25 |ge to ma|ven at %|
|00017e70| 73 5c 6e 22 2c 69 6e 65 | 74 5f 6e 74 6f 61 28 69 |s\n",ine|t_ntoa(i|
|00017e80| 6e 29 29 3b 0a 20 20 20 | 20 7d 0a 23 65 6e 64 69 |n));. | }.#endi|
|00017e90| 66 0a 0a 20 20 20 20 76 | 61 74 49 64 6d 73 67 20 |f.. v|atIdmsg |
|00017ea0| 3d 20 28 73 74 72 75 63 | 74 20 43 74 72 6c 4d 73 |= (struc|t CtrlMs|
|00017eb0| 67 48 64 72 20 2a 29 20 | 62 75 66 3b 0a 20 20 20 |gHdr *) |buf;. |
|00017ec0| 20 76 61 74 49 64 6d 73 | 67 2d 3e 66 6c 61 67 73 | vatIdms|g->flags|
|00017ed0| 20 3d 20 30 3b 0a 20 20 | 20 20 76 61 74 49 64 6d | = 0;. | vatIdm|
|00017ee0| 73 67 2d 3e 74 79 70 65 | 20 3d 20 43 54 52 4c 5f |sg->type| = CTRL_|
|00017ef0| 54 59 50 45 5f 49 44 3b | 0a 20 20 20 20 76 61 74 |TYPE_ID;|. vat|
|00017f00| 49 64 6d 73 67 2d 3e 63 | 6f 6e 66 69 64 20 3d 20 |Idmsg->c|onfid = |
|00017f10| 30 3b 0a 20 20 20 20 73 | 74 72 63 70 79 28 76 61 |0;. s|trcpy(va|
|00017f20| 74 49 64 6d 73 67 2d 3e | 69 64 6d 73 67 2c 22 43 |tIdmsg->|idmsg,"C|
|00017f30| 55 2d 52 65 66 6c 65 63 | 74 6f 72 22 29 3b 0a 20 |U-Reflec|tor");. |
|00017f40| 20 20 20 76 61 74 49 64 | 6d 73 67 2d 3e 69 64 6d | vatId|msg->idm|
|00017f50| 73 67 5b 73 74 72 6c 65 | 6e 28 22 43 55 2d 52 65 |sg[strle|n("CU-Re|
|00017f60| 66 6c 65 63 74 6f 72 22 | 29 5d 20 3d 20 30 3b 0a |flector"|)] = 0;.|
|00017f70| 20 20 20 20 6d 73 67 6c | 65 6e 20 3d 20 43 54 52 | msgl|en = CTR|
|00017f80| 4c 4d 53 47 53 49 5a 45 | 20 2b 20 73 74 72 6c 65 |LMSGSIZE| + strle|
|00017f90| 6e 28 22 43 55 2d 52 65 | 66 6c 65 63 74 6f 72 22 |n("CU-Re|flector"|
|00017fa0| 29 20 2b 20 31 3b 0a 0a | 20 20 20 20 6d 76 6e 73 |) + 1;..| mvns|
|00017fb0| 6b 74 2e 73 69 6e 5f 66 | 61 6d 69 6c 79 20 3d 20 |kt.sin_f|amily = |
|00017fc0| 41 46 5f 49 4e 45 54 3b | 0a 20 20 20 20 6d 76 6e |AF_INET;|. mvn|
|00017fd0| 73 6b 74 2e 73 69 6e 5f | 70 6f 72 74 20 3d 20 6d |skt.sin_|port = m|
|00017fe0| 70 74 72 2d 3e 6d 76 6e | 5f 61 64 64 72 2e 70 6f |ptr->mvn|_addr.po|
|00017ff0| 72 74 20 2b 20 31 3b 0a | 20 20 20 20 6d 76 6e 73 |rt + 1;.| mvns|
|00018000| 6b 74 2e 73 69 6e 5f 61 | 64 64 72 2e 73 5f 61 64 |kt.sin_a|ddr.s_ad|
|00018010| 64 72 20 3d 20 6d 70 74 | 72 2d 3e 6d 76 6e 5f 61 |dr = mpt|r->mvn_a|
|00018020| 64 64 72 2e 61 64 64 72 | 3b 0a 0a 20 20 20 20 69 |ddr.addr|;.. i|
|00018030| 66 20 28 73 65 6e 64 74 | 6f 28 6d 61 76 65 6e 5f |f (sendt|o(maven_|
|00018040| 63 6e 74 6c 5f 73 6f 63 | 6b 2c 62 75 66 2c 6d 73 |cntl_soc|k,buf,ms|
|00018050| 67 6c 65 6e 2c 30 2c 26 | 6d 76 6e 73 6b 74 2c 73 |glen,0,&|mvnskt,s|
|00018060| 69 7a 65 6f 66 28 73 74 | 72 75 63 74 20 73 6f 63 |izeof(st|ruct soc|
|00018070| 6b 61 64 64 72 5f 69 6e | 29 29 20 21 3d 20 6d 73 |kaddr_in|)) != ms|
|00018080| 67 6c 65 6e 29 0a 20 20 | 20 20 20 20 20 64 6f 6c |glen). | dol|
|00018090| 6f 67 28 22 4d 61 76 65 | 6e 20 69 64 20 73 65 6e |og("Mave|n id sen|
|000180a0| 64 74 6f 20 65 72 72 6f | 72 5c 6e 22 29 3b 0a 0a |dto erro|r\n");..|
|000180b0| 7d 0a 0a 76 6f 69 64 20 | 6d 79 5f 70 65 72 72 6f |}..void |my_perro|
|000180c0| 72 28 6d 65 73 67 29 0a | 20 20 20 63 68 61 72 20 |r(mesg).| char |
|000180d0| 2a 6d 65 73 67 3b 0a 7b | 0a 20 20 20 20 65 78 74 |*mesg;.{|. ext|
|000180e0| 65 72 6e 20 63 68 61 72 | 20 2a 73 79 73 5f 65 72 |ern char| *sys_er|
|000180f0| 72 6c 69 73 74 5b 5d 3b | 0a 20 20 20 20 65 78 74 |rlist[];|. ext|
|00018100| 65 72 6e 20 69 6e 74 20 | 65 72 72 6e 6f 3b 0a 0a |ern int |errno;..|
|00018110| 20 20 20 20 64 6f 6c 6f | 67 28 22 25 73 20 3a 20 | dolo|g("%s : |
|00018120| 25 73 3a 20 46 41 54 41 | 4c 20 45 52 52 4f 52 3a |%s: FATA|L ERROR:|
|00018130| 20 45 58 49 54 49 4e 47 | 22 2c 20 6d 65 73 67 2c | EXITING|", mesg,|
|00018140| 20 73 79 73 5f 65 72 72 | 6c 69 73 74 5b 65 72 72 | sys_err|list[err|
|00018150| 6e 6f 5d 29 3b 0a 20 20 | 20 20 70 72 69 6e 74 66 |no]);. | printf|
|00018160| 28 22 25 73 20 3a 20 25 | 73 3a 20 46 41 54 41 4c |("%s : %|s: FATAL|
|00018170| 20 45 52 52 4f 52 3a 20 | 45 58 49 54 49 4e 47 22 | ERROR: |EXITING"|
|00018180| 2c 20 6d 65 73 67 2c 20 | 73 79 73 5f 65 72 72 6c |, mesg, |sys_errl|
|00018190| 69 73 74 5b 65 72 72 6e | 6f 5d 29 3b 0a 20 20 20 |ist[errn|o]);. |
|000181a0| 20 65 78 69 74 28 31 29 | 3b 0a 7d 0a 0a 64 6f 6c | exit(1)|;.}..dol|
|000181b0| 6f 67 28 76 61 5f 61 6c | 69 73 74 29 0a 76 61 5f |og(va_al|ist).va_|
|000181c0| 64 63 6c 0a 7b 0a 20 20 | 20 20 73 74 61 74 69 63 |dcl.{. | static|
|000181d0| 20 69 6e 74 20 6c 69 6e | 65 5f 63 6e 74 20 3d 20 | int lin|e_cnt = |
|000181e0| 30 3b 0a 20 20 20 20 63 | 68 61 72 20 20 20 20 2a |0;. c|har *|
|000181f0| 66 6d 74 2c 2a 74 6d 70 | 3b 0a 20 20 20 20 76 61 |fmt,*tmp|;. va|
|00018200| 5f 6c 69 73 74 20 61 72 | 67 73 3b 0a 20 20 20 20 |_list ar|gs;. |
|00018210| 73 74 72 75 63 74 20 74 | 69 6d 65 76 61 6c 20 74 |struct t|imeval t|
|00018220| 70 3b 0a 20 20 20 20 73 | 74 72 75 63 74 20 74 69 |p;. s|truct ti|
|00018230| 6d 65 7a 6f 6e 65 20 74 | 7a 70 3b 0a 0a 20 20 20 |mezone t|zp;.. |
|00018240| 20 69 66 20 28 6c 6f 67 | 5f 6c 69 6d 69 74 20 3d | if (log|_limit =|
|00018250| 3d 20 30 29 0a 20 20 20 | 20 20 20 20 72 65 74 75 |= 0). | retu|
|00018260| 72 6e 3b 0a 0a 20 20 20 | 20 69 66 20 28 6c 6f 67 |rn;.. | if (log|
|00018270| 5f 6c 69 6d 69 74 20 21 | 3d 20 2d 31 29 0a 20 20 |_limit !|= -1). |
|00018280| 20 20 7b 0a 20 20 20 20 | 20 20 20 69 66 20 28 6c | {. | if (l|
|00018290| 69 6e 65 5f 63 6e 74 2b | 2b 20 3e 20 6c 6f 67 5f |ine_cnt+|+ > log_|
|000182a0| 6c 69 6d 69 74 29 0a 20 | 20 20 20 20 20 20 7b 0a |limit). | {.|
|000182b0| 09 20 20 6c 69 6e 65 5f | 63 6e 74 20 3d 20 30 3b |. line_|cnt = 0;|
|000182c0| 0a 20 20 20 20 20 20 20 | 20 20 20 66 63 6c 6f 73 |. | fclos|
|000182d0| 65 28 6c 6f 67 5f 66 69 | 6c 65 29 3b 0a 20 20 20 |e(log_fi|le);. |
|000182e0| 20 20 20 20 20 20 20 69 | 66 20 28 28 6c 6f 67 5f | i|f ((log_|
|000182f0| 66 69 6c 65 20 3d 20 66 | 6f 70 65 6e 28 74 72 61 |file = f|open(tra|
|00018300| 63 65 66 69 6c 65 2c 22 | 77 22 29 29 20 21 3d 20 |cefile,"|w")) != |
|00018310| 4e 55 4c 4c 29 0a 20 20 | 20 20 20 20 20 20 20 20 |NULL). | |
|00018320| 7b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 73 |{. | s|
|00018330| 65 74 6c 69 6e 65 62 75 | 66 28 6c 6f 67 5f 66 69 |etlinebu|f(log_fi|
|00018340| 6c 65 29 3b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |le);. | |
|00018350| 20 20 64 6f 6c 6f 67 28 | 22 6f 70 65 6e 5f 6c 6f | dolog(|"open_lo|
|00018360| 67 20 66 69 6c 65 3a 20 | 25 73 5c 6e 22 2c 74 72 |g file: |%s\n",tr|
|00018370| 61 63 65 66 69 6c 65 29 | 3b 0a 20 20 20 20 20 20 |acefile)|;. |
|00018380| 20 20 20 20 7d 0a 20 20 | 20 20 20 20 20 20 20 20 | }. | |
|00018390| 65 6c 73 65 0a 20 20 20 | 20 20 20 20 20 20 20 20 |else. | |
|000183a0| 20 20 6c 6f 67 5f 6c 69 | 6d 69 74 20 3d 20 30 3b | log_li|mit = 0;|
|000183b0| 0a 20 20 20 20 20 20 20 | 7d 0a 20 20 20 20 7d 0a |. |}. }.|
|000183c0| 0a 0a 20 20 20 20 67 65 | 74 74 69 6d 65 6f 66 64 |.. ge|ttimeofd|
|000183d0| 61 79 28 26 74 70 2c 20 | 26 74 7a 70 29 3b 0a 20 |ay(&tp, |&tzp);. |
|000183e0| 20 20 20 74 6d 70 20 3d | 20 63 74 69 6d 65 28 26 | tmp =| ctime(&|
|000183f0| 74 70 2e 74 76 5f 73 65 | 63 29 3b 0a 20 20 20 20 |tp.tv_se|c);. |
|00018400| 74 6d 70 5b 32 34 5d 20 | 3d 20 27 20 27 3b 0a 0a |tmp[24] |= ' ';..|
|00018410| 20 20 20 20 76 61 5f 73 | 74 61 72 74 28 61 72 67 | va_s|tart(arg|
|00018420| 73 29 3b 0a 0a 20 20 20 | 20 66 6d 74 20 3d 20 76 |s);.. | fmt = v|
|00018430| 61 5f 61 72 67 28 61 72 | 67 73 2c 20 63 68 61 72 |a_arg(ar|gs, char|
|00018440| 20 2a 29 3b 0a 0a 20 20 | 20 20 69 66 20 28 21 6c | *);.. | if (!l|
|00018450| 6f 67 5f 66 69 6c 65 29 | 0a 20 20 20 20 7b 0a 20 |og_file)|. {. |
|00018460| 20 20 20 20 20 20 20 72 | 65 74 75 72 6e 3b 0a 20 | r|eturn;. |
|00018470| 20 20 20 7d 0a 0a 20 20 | 20 20 69 66 20 28 66 6d | }.. | if (fm|
|00018480| 74 20 26 26 20 2a 66 6d | 74 29 0a 20 20 20 20 7b |t && *fm|t). {|
|00018490| 0a 20 20 20 20 20 20 20 | 20 28 76 6f 69 64 29 20 |. | (void) |
|000184a0| 66 70 72 69 6e 74 66 28 | 6c 6f 67 5f 66 69 6c 65 |fprintf(|log_file|
|000184b0| 2c 20 22 25 73 20 22 2c | 20 74 6d 70 29 3b 0a 20 |, "%s ",| tmp);. |
|000184c0| 20 20 20 20 20 20 20 28 | 76 6f 69 64 29 20 76 66 | (|void) vf|
|000184d0| 70 72 69 6e 74 66 28 6c | 6f 67 5f 66 69 6c 65 2c |printf(l|og_file,|
|000184e0| 20 66 6d 74 2c 20 61 72 | 67 73 29 3b 0a 23 69 66 | fmt, ar|gs);.#if|
|000184f0| 64 65 66 20 44 45 42 55 | 47 0a 20 20 20 20 20 20 |def DEBU|G. |
|00018500| 20 69 66 20 28 64 65 62 | 75 67 29 0a 20 20 20 20 | if (deb|ug). |
|00018510| 20 20 20 20 20 20 28 76 | 6f 69 64 29 20 76 66 70 | (v|oid) vfp|
|00018520| 72 69 6e 74 66 28 73 74 | 64 6f 75 74 2c 20 66 6d |rintf(st|dout, fm|
|00018530| 74 2c 20 61 72 67 73 29 | 3b 0a 23 65 6e 64 69 66 |t, args)|;.#endif|
|00018540| 0a 20 20 20 20 7d 0a 20 | 20 20 20 76 61 5f 65 6e |. }. | va_en|
|00018550| 64 28 61 72 67 73 29 3b | 0a 7d 0a 0a 73 6c 69 73 |d(args);|.}..slis|
|00018560| 74 20 2a 75 6e 6c 69 6e | 6b 5f 73 6c 69 73 74 28 |t *unlin|k_slist(|
|00018570| 73 68 65 61 64 2c 63 6c | 74 70 74 72 29 0a 20 20 |shead,cl|tptr). |
|00018580| 20 20 73 6c 69 73 74 20 | 2a 73 68 65 61 64 3b 0a | slist |*shead;.|
|00018590| 20 20 20 20 63 6c 69 65 | 6e 74 20 2a 63 6c 74 70 | clie|nt *cltp|
|000185a0| 74 72 3b 0a 7b 0a 20 20 | 20 20 73 6c 69 73 74 20 |tr;.{. | slist |
|000185b0| 2a 73 74 6d 70 3b 0a 0a | 20 20 20 20 69 66 20 28 |*stmp;..| if (|
|000185c0| 73 68 65 61 64 20 3d 3d | 20 4e 55 4c 4c 29 0a 20 |shead ==| NULL). |
|000185d0| 20 20 20 20 20 20 72 65 | 74 75 72 6e 28 4e 55 4c | re|turn(NUL|
|000185e0| 4c 29 3b 0a 20 20 20 20 | 65 6c 73 65 0a 20 20 20 |L);. |else. |
|000185f0| 20 20 20 20 69 66 20 28 | 73 68 65 61 64 2d 3e 73 | if (|shead->s|
|00018600| 6e 64 5f 63 6c 69 65 6e | 74 20 3d 3d 20 63 6c 74 |nd_clien|t == clt|
|00018610| 70 74 72 29 0a 20 20 20 | 20 20 20 20 7b 0a 20 20 |ptr). | {. |
|00018620| 20 20 20 20 20 20 20 20 | 73 74 6d 70 20 3d 20 73 | |stmp = s|
|00018630| 68 65 61 64 2d 3e 73 6e | 64 5f 6e 70 74 72 3b 0a |head->sn|d_nptr;.|
|00018640| 20 20 20 20 20 20 20 20 | 20 20 66 72 65 65 5f 73 | | free_s|
|00018650| 6c 69 73 74 28 73 68 65 | 61 64 29 3b 0a 20 20 20 |list(she|ad);. |
|00018660| 20 20 20 20 20 20 20 72 | 65 74 75 72 6e 28 73 74 | r|eturn(st|
|00018670| 6d 70 29 3b 0a 20 20 20 | 20 20 20 20 7d 0a 0a 20 |mp);. | }.. |
|00018680| 20 20 20 73 68 65 61 64 | 2d 3e 73 6e 64 5f 6e 70 | shead|->snd_np|
|00018690| 74 72 20 3d 20 75 6e 6c | 69 6e 6b 5f 73 6c 69 73 |tr = unl|ink_slis|
|000186a0| 74 28 73 68 65 61 64 2d | 3e 73 6e 64 5f 6e 70 74 |t(shead-|>snd_npt|
|000186b0| 72 2c 63 6c 74 70 74 72 | 29 3b 0a 20 20 20 20 72 |r,cltptr|);. r|
|000186c0| 65 74 75 72 6e 28 73 68 | 65 61 64 29 3b 0a 7d 0a |eturn(sh|ead);.}.|
|000186d0| 0a 0a 0a 63 6c 69 65 6e | 74 20 2a 75 6e 6c 69 6e |...clien|t *unlin|
|000186e0| 6b 5f 63 6c 69 65 6e 74 | 28 63 68 65 61 64 2c 63 |k_client|(chead,c|
|000186f0| 6c 74 70 74 72 29 0a 20 | 20 20 20 63 6c 69 65 6e |ltptr). | clien|
|00018700| 74 20 2a 63 68 65 61 64 | 2c 2a 63 6c 74 70 74 72 |t *chead|,*cltptr|
|00018710| 3b 0a 7b 0a 20 20 20 20 | 69 66 20 28 63 68 65 61 |;.{. |if (chea|
|00018720| 64 20 3d 3d 20 4e 55 4c | 4c 29 0a 20 20 20 20 20 |d == NUL|L). |
|00018730| 20 20 72 65 74 75 72 6e | 28 4e 55 4c 4c 29 3b 0a | return|(NULL);.|
|00018740| 20 20 20 20 65 6c 73 65 | 0a 20 20 20 20 20 20 20 | else|. |
|00018750| 69 66 20 28 63 68 65 61 | 64 20 3d 3d 20 63 6c 74 |if (chea|d == clt|
|00018760| 70 74 72 29 0a 20 20 20 | 20 20 20 20 7b 0a 20 20 |ptr). | {. |
|00018770| 20 20 20 20 20 20 20 20 | 63 6c 74 70 74 72 2d 3e | |cltptr->|
|00018780| 63 6c 6e 74 5f 66 6c 61 | 67 73 20 7c 3d 20 44 45 |clnt_fla|gs |= DE|
|00018790| 4c 45 54 45 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |LETE;. | |
|000187a0| 72 65 74 75 72 6e 28 63 | 68 65 61 64 2d 3e 63 6c |return(c|head->cl|
|000187b0| 6e 74 5f 6e 70 74 72 29 | 3b 0a 20 20 20 20 20 20 |nt_nptr)|;. |
|000187c0| 20 7d 0a 0a 20 20 20 20 | 63 68 65 61 64 2d 3e 63 | }.. |chead->c|
|000187d0| 6c 6e 74 5f 6e 70 74 72 | 20 3d 20 75 6e 6c 69 6e |lnt_nptr| = unlin|
|000187e0| 6b 5f 63 6c 69 65 6e 74 | 28 63 68 65 61 64 2d 3e |k_client|(chead->|
|000187f0| 63 6c 6e 74 5f 6e 70 74 | 72 2c 63 6c 74 70 74 72 |clnt_npt|r,cltptr|
|00018800| 29 3b 0a 20 20 20 20 72 | 65 74 75 72 6e 28 63 68 |);. r|eturn(ch|
|00018810| 65 61 64 29 3b 0a 7d 0a | 0a 0a 67 65 74 5f 6d 79 |ead);.}.|..get_my|
|00018820| 5f 61 64 64 72 28 6d 79 | 61 64 64 72 29 0a 20 20 |_addr(my|addr). |
|00018830| 20 20 73 74 72 75 63 74 | 20 20 73 6f 63 6b 61 64 | struct| sockad|
|00018840| 64 72 20 2a 6d 79 61 64 | 64 72 3b 0a 7b 0a 20 20 |dr *myad|dr;.{. |
|00018850| 20 20 69 6e 74 20 6e 5f | 69 6e 74 65 72 66 61 63 | int n_|interfac|
|00018860| 65 73 2c 20 69 3b 0a 20 | 20 20 20 63 68 61 72 20 |es, i;. | char |
|00018870| 2a 62 75 66 3b 0a 20 20 | 20 20 73 74 72 75 63 74 |*buf;. | struct|
|00018880| 20 69 66 63 6f 6e 66 20 | 69 66 63 3b 0a 20 20 20 | ifconf |ifc;. |
|00018890| 20 73 74 72 75 63 74 20 | 69 66 72 65 71 20 2a 69 | struct |ifreq *i|
|000188a0| 66 72 3b 0a 20 20 20 20 | 69 6e 74 20 73 5f 69 6e |fr;. |int s_in|
|000188b0| 3b 0a 0a 20 20 20 20 62 | 7a 65 72 6f 28 28 63 61 |;.. b|zero((ca|
|000188c0| 64 64 72 5f 74 29 20 6d | 79 61 64 64 72 2c 73 6f |ddr_t) m|yaddr,so|
|000188d0| 63 6b 73 69 7a 65 28 26 | 69 66 72 2d 3e 69 66 72 |cksize(&|ifr->ifr|
|000188e0| 5f 61 64 64 72 29 29 3b | 0a 0a 20 20 20 20 69 66 |_addr));|.. if|
|000188f0| 20 28 28 73 5f 69 6e 20 | 3d 20 73 6f 63 6b 65 74 | ((s_in |= socket|
|00018900| 28 50 46 5f 49 4e 45 54 | 2c 20 53 4f 43 4b 5f 44 |(PF_INET|, SOCK_D|
|00018910| 47 52 41 4d 2c 20 30 29 | 29 20 3c 20 30 29 0a 20 |GRAM, 0)|) < 0). |
|00018920| 20 20 20 7b 0a 20 20 20 | 20 20 20 20 20 6d 79 5f | {. | my_|
|00018930| 70 65 72 72 6f 72 28 22 | 69 66 5f 67 65 74 6c 69 |perror("|if_getli|
|00018940| 73 74 3a 20 73 6f 63 6b | 65 74 22 29 3b 0a 20 20 |st: sock|et");. |
|00018950| 20 20 20 20 20 20 65 78 | 69 74 28 65 72 72 6e 6f | ex|it(errno|
|00018960| 29 3b 0a 20 20 20 20 7d | 0a 0a 20 20 20 20 69 66 |);. }|.. if|
|00018970| 63 2e 69 66 63 5f 6c 65 | 6e 20 3d 20 28 4d 41 58 |c.ifc_le|n = (MAX|
|00018980| 49 46 20 2a 20 73 69 7a | 65 6f 66 20 28 73 74 72 |IF * siz|eof (str|
|00018990| 75 63 74 20 69 66 72 65 | 71 29 29 20 2b 20 73 69 |uct ifre|q)) + si|
|000189a0| 7a 65 6f 66 28 69 6e 74 | 29 3b 0a 0a 20 20 20 20 |zeof(int|);.. |
|000189b0| 69 66 20 28 20 21 28 62 | 75 66 20 3d 20 6d 61 6c |if ( !(b|uf = mal|
|000189c0| 6c 6f 63 28 69 66 63 2e | 69 66 63 5f 6c 65 6e 29 |loc(ifc.|ifc_len)|
|000189d0| 29 29 0a 20 20 20 20 7b | 0a 20 20 20 20 20 20 20 |)). {|. |
|000189e0| 20 6d 79 5f 70 65 72 72 | 6f 72 28 22 69 66 5f 67 | my_perr|or("if_g|
|000189f0| 65 74 6c 69 73 74 3a 20 | 6d 61 6c 6c 6f 63 22 29 |etlist: |malloc")|
|00018a00| 3b 0a 20 20 20 20 20 20 | 20 20 65 78 69 74 28 65 |;. | exit(e|
|00018a10| 72 72 6e 6f 29 3b 0a 20 | 20 20 20 7d 0a 0a 20 20 |rrno);. | }.. |
|00018a20| 20 20 69 66 63 2e 69 66 | 63 5f 62 75 66 20 3d 20 | ifc.if|c_buf = |
|00018a30| 62 75 66 3b 0a 0a 20 20 | 20 20 69 66 20 28 69 6f |buf;.. | if (io|
|00018a40| 63 74 6c 28 73 5f 69 6e | 2c 20 53 49 4f 43 47 49 |ctl(s_in|, SIOCGI|
|00018a50| 46 43 4f 4e 46 2c 20 28 | 63 61 64 64 72 5f 74 29 |FCONF, (|caddr_t)|
|00018a60| 20 26 69 66 63 29 20 3c | 20 30 29 0a 20 20 20 20 | &ifc) <| 0). |
|00018a70| 7b 0a 20 20 20 20 20 20 | 20 20 6d 79 5f 70 65 72 |{. | my_per|
|00018a80| 72 6f 72 28 22 69 66 5f | 67 65 74 6c 69 73 74 3a |ror("if_|getlist:|
|00018a90| 20 69 6f 63 74 6c 28 53 | 49 4f 43 47 49 46 43 4f | ioctl(S|IOCGIFCO|
|00018aa0| 4e 46 29 22 29 3b 0a 20 | 20 20 20 20 20 20 20 65 |NF)");. | e|
|00018ab0| 78 69 74 28 65 72 72 6e | 6f 29 3b 0a 20 20 20 20 |xit(errn|o);. |
|00018ac0| 7d 0a 0a 20 20 20 20 6e | 5f 69 6e 74 65 72 66 61 |}.. n|_interfa|
|00018ad0| 63 65 73 20 3d 20 69 66 | 63 2e 69 66 63 5f 6c 65 |ces = if|c.ifc_le|
|00018ae0| 6e 20 2f 20 73 69 7a 65 | 6f 66 20 28 73 74 72 75 |n / size|of (stru|
|00018af0| 63 74 20 69 66 72 65 71 | 29 3b 0a 0a 20 20 20 20 |ct ifreq|);.. |
|00018b00| 69 66 72 20 3d 20 28 73 | 74 72 75 63 74 20 69 66 |ifr = (s|truct if|
|00018b10| 72 65 71 20 2a 29 20 69 | 66 63 2e 69 66 63 5f 62 |req *) i|fc.ifc_b|
|00018b20| 75 66 3b 0a 20 20 20 20 | 66 6f 72 20 28 69 20 3d |uf;. |for (i =|
|00018b30| 20 30 3b 20 69 20 3c 20 | 6e 5f 69 6e 74 65 72 66 | 0; i < |n_interf|
|00018b40| 61 63 65 73 3b 20 69 2b | 2b 29 0a 20 20 20 20 7b |aces; i+|+). {|
|00018b50| 0a 20 20 20 20 20 20 20 | 20 69 66 20 28 69 66 72 |. | if (ifr|
|00018b60| 2d 3e 69 66 72 5f 61 64 | 64 72 2e 73 61 5f 66 61 |->ifr_ad|dr.sa_fa|
|00018b70| 6d 69 6c 79 20 3d 3d 20 | 41 46 5f 49 4e 45 54 29 |mily == |AF_INET)|
|00018b80| 0a 20 20 20 20 20 20 20 | 20 7b 0a 20 20 20 20 20 |. | {. |
|00018b90| 20 20 20 20 20 20 62 63 | 6f 70 79 28 28 63 61 64 | bc|opy((cad|
|00018ba0| 64 72 5f 74 29 20 26 69 | 66 72 2d 3e 69 66 72 5f |dr_t) &i|fr->ifr_|
|00018bb0| 61 64 64 72 2c 20 28 63 | 61 64 64 72 5f 74 29 20 |addr, (c|addr_t) |
|00018bc0| 6d 79 61 64 64 72 2c 20 | 73 6f 63 6b 73 69 7a 65 |myaddr, |socksize|
|00018bd0| 28 26 69 66 72 2d 3e 69 | 66 72 5f 61 64 64 72 29 |(&ifr->i|fr_addr)|
|00018be0| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 62 72 |);. | br|
|00018bf0| 65 61 6b 3b 0a 20 20 20 | 20 20 20 20 20 7d 0a 20 |eak;. | }. |
|00018c00| 20 20 20 20 20 20 20 69 | 66 72 20 3d 20 28 73 74 | i|fr = (st|
|00018c10| 72 75 63 74 20 69 66 72 | 65 71 20 2a 29 20 28 28 |ruct ifr|eq *) ((|
|00018c20| 63 61 64 64 72 5f 74 29 | 20 69 66 72 20 2b 20 28 |caddr_t)| ifr + (|
|00018c30| 73 69 7a 65 6f 66 28 2a | 69 66 72 29 20 2b 20 73 |sizeof(*|ifr) + s|
|00018c40| 6f 63 6b 73 69 7a 65 28 | 26 69 66 72 2d 3e 69 66 |ocksize(|&ifr->if|
|00018c50| 72 5f 61 64 64 72 29 20 | 2d 20 73 69 7a 65 6f 66 |r_addr) |- sizeof|
|00018c60| 20 28 69 66 72 2d 3e 69 | 66 72 5f 61 64 64 72 29 | (ifr->i|fr_addr)|
|00018c70| 29 29 3b 0a 20 20 20 20 | 7d 0a 20 20 20 20 28 76 |));. |}. (v|
|00018c80| 6f 69 64 29 20 66 72 65 | 65 28 62 75 66 29 3b 0a |oid) fre|e(buf);.|
|00018c90| 7d 0a 0a 0a 73 68 6f 72 | 74 20 67 65 74 5f 74 79 |}...shor|t get_ty|
|00018ca0| 70 65 28 63 73 6f 63 6b | 29 0a 20 20 20 20 73 74 |pe(csock|). st|
|00018cb0| 72 75 63 74 20 73 6f 63 | 6b 61 64 64 72 5f 69 6e |ruct soc|kaddr_in|
|00018cc0| 20 20 63 73 6f 63 6b 3b | 0a 7b 0a 20 20 20 20 73 | csock;|.{. s|
|00018cd0| 68 6f 72 74 20 63 6e 74 | 3b 0a 0a 20 20 20 20 66 |hort cnt|;.. f|
|00018ce0| 6f 72 20 28 63 6e 74 3d | 30 3b 20 63 6e 74 3c 72 |or (cnt=|0; cnt<r|
|00018cf0| 65 73 74 72 69 63 74 5f | 63 6e 74 3b 20 63 6e 74 |estrict_|cnt; cnt|
|00018d00| 2b 2b 29 0a 20 20 20 20 | 20 20 20 69 66 20 28 72 |++). | if (r|
|00018d10| 65 73 74 72 69 63 74 5f | 6c 69 73 74 5b 63 6e 74 |estrict_|list[cnt|
|00018d20| 5d 20 3d 3d 20 63 73 6f | 63 6b 2e 73 69 6e 5f 61 |] == cso|ck.sin_a|
|00018d30| 64 64 72 2e 73 5f 61 64 | 64 72 29 0a 20 20 20 20 |ddr.s_ad|dr). |
|00018d40| 20 20 20 20 20 20 72 65 | 74 75 72 6e 28 43 4c 49 | re|turn(CLI|
|00018d50| 45 4e 54 29 3b 0a 0a 20 | 20 20 20 66 6f 72 20 28 |ENT);.. | for (|
|00018d60| 63 6e 74 3d 30 3b 20 63 | 6e 74 3c 62 63 63 5f 73 |cnt=0; c|nt<bcc_s|
|00018d70| 72 76 5f 63 6e 74 3b 20 | 63 6e 74 2b 2b 29 0a 20 |rv_cnt; |cnt++). |
|00018d80| 20 20 20 20 20 20 69 66 | 20 28 62 63 63 5f 73 65 | if| (bcc_se|
|00018d90| 72 76 65 72 5f 6c 69 73 | 74 5b 63 6e 74 5d 20 3d |rver_lis|t[cnt] =|
|00018da0| 3d 20 63 73 6f 63 6b 2e | 73 69 6e 5f 61 64 64 72 |= csock.|sin_addr|
|00018db0| 2e 73 5f 61 64 64 72 29 | 0a 20 20 20 20 20 20 20 |.s_addr)|. |
|00018dc0| 20 20 20 72 65 74 75 72 | 6e 28 42 43 43 5f 53 45 | retur|n(BCC_SE|
|00018dd0| 52 56 45 52 29 3b 0a 0a | 20 20 20 20 66 6f 72 20 |RVER);..| for |
|00018de0| 28 63 6e 74 3d 30 3b 20 | 63 6e 74 3c 62 63 63 5f |(cnt=0; |cnt<bcc_|
|00018df0| 63 6c 74 5f 63 6e 74 3b | 20 63 6e 74 2b 2b 29 0a |clt_cnt;| cnt++).|
|00018e00| 20 20 20 20 20 20 20 69 | 66 20 28 62 63 63 5f 63 | i|f (bcc_c|
|00018e10| 6c 69 65 6e 74 5f 6c 69 | 73 74 5b 63 6e 74 5d 20 |lient_li|st[cnt] |
|00018e20| 3d 3d 20 63 73 6f 63 6b | 2e 73 69 6e 5f 61 64 64 |== csock|.sin_add|
|00018e30| 72 2e 73 5f 61 64 64 72 | 29 0a 20 20 20 20 20 20 |r.s_addr|). |
|00018e40| 20 20 20 20 72 65 74 75 | 72 6e 28 42 43 43 5f 43 | retu|rn(BCC_C|
|00018e50| 4c 49 45 4e 54 29 3b 0a | 0a 20 20 20 20 66 6f 72 |LIENT);.|. for|
|00018e60| 20 28 63 6e 74 3d 30 3b | 20 63 6e 74 3c 72 65 66 | (cnt=0;| cnt<ref|
|00018e70| 5f 75 63 61 73 74 5f 63 | 6e 74 3b 20 63 6e 74 2b |_ucast_c|nt; cnt+|
|00018e80| 2b 29 0a 20 20 20 20 20 | 20 20 69 66 20 28 72 65 |+). | if (re|
|00018e90| 66 5f 75 63 61 73 74 5f | 6c 69 73 74 5b 63 6e 74 |f_ucast_|list[cnt|
|00018ea0| 5d 20 3d 3d 20 63 73 6f | 63 6b 2e 73 69 6e 5f 61 |] == cso|ck.sin_a|
|00018eb0| 64 64 72 2e 73 5f 61 64 | 64 72 29 0a 20 20 20 20 |ddr.s_ad|dr). |
|00018ec0| 20 20 20 20 20 20 72 65 | 74 75 72 6e 28 52 45 46 | re|turn(REF|
|00018ed0| 33 5f 53 45 52 56 45 52 | 29 3b 0a 0a 20 20 20 20 |3_SERVER|);.. |
|00018ee0| 69 66 20 28 72 65 73 74 | 72 69 63 74 5f 63 6e 74 |if (rest|rict_cnt|
|00018ef0| 20 21 3d 20 30 29 0a 20 | 20 20 20 20 20 20 72 65 | != 0). | re|
|00018f00| 74 75 72 6e 28 2d 31 29 | 3b 0a 20 20 20 20 0a 20 |turn(-1)|;. . |
|00018f10| 20 20 20 72 65 74 75 72 | 6e 28 43 4c 49 45 4e 54 | retur|n(CLIENT|
|00018f20| 29 3b 0a 7d 0a 0a 0a 64 | 69 73 74 72 69 62 75 74 |);.}...d|istribut|
|00018f30| 65 28 76 69 64 70 74 72 | 2c 63 6c 74 70 74 72 2c |e(vidptr|,cltptr,|
|00018f40| 61 6c 6c 29 0a 20 20 20 | 56 69 64 65 6f 50 61 63 |all). |VideoPac|
|00018f50| 6b 65 74 48 65 61 64 65 | 72 20 2a 76 69 64 70 74 |ketHeade|r *vidpt|
|00018f60| 72 3b 0a 20 20 20 63 6c | 69 65 6e 74 20 2a 63 6c |r;. cl|ient *cl|
|00018f70| 74 70 74 72 3b 0a 20 20 | 20 63 68 61 72 20 20 20 |tptr;. | char |
|00018f80| 61 6c 6c 3b 0a 7b 0a 20 | 20 20 20 63 6c 69 65 6e |all;.{. | clien|
|00018f90| 74 20 20 20 20 20 20 20 | 20 20 2a 63 74 6d 70 3b |t | *ctmp;|
|00018fa0| 0a 20 20 20 20 75 6e 73 | 69 67 6e 65 64 20 63 68 |. uns|igned ch|
|00018fb0| 61 72 20 20 2a 63 70 74 | 72 3b 0a 20 20 20 20 6d |ar *cpt|r;. m|
|00018fc0| 61 76 65 6e 5f 63 6c 69 | 65 6e 74 20 20 20 2a 6d |aven_cli|ent *m|
|00018fd0| 74 6d 70 3b 0a 20 20 20 | 20 73 6c 69 73 74 20 20 |tmp;. | slist |
|00018fe0| 20 20 20 20 20 20 20 20 | 2a 73 70 74 72 3b 0a 20 | |*sptr;. |
|00018ff0| 20 20 20 73 74 72 75 63 | 74 20 69 6e 5f 61 64 64 | struc|t in_add|
|00019000| 72 20 69 6e 3b 0a 20 20 | 20 20 69 6e 74 20 20 20 |r in;. | int |
|00019010| 20 20 20 20 20 20 20 20 | 20 6c 65 6e 2c 63 6e 74 | | len,cnt|
|00019020| 3b 0a 20 20 20 20 73 68 | 6f 72 74 20 20 20 20 20 |;. sh|ort |
|00019030| 20 20 20 20 20 72 65 66 | 5f 75 63 61 73 74 5f 73 | ref|_ucast_s|
|00019040| 65 6e 74 5b 4d 41 58 53 | 52 43 52 45 46 5d 3b 20 |ent[MAXS|RCREF]; |
|00019050| 20 20 20 0a 0a 0a 20 20 | 20 20 69 66 20 28 61 6c | ... | if (al|
|00019060| 6c 20 3d 3d 20 46 41 4c | 53 45 29 0a 20 20 20 20 |l == FAL|SE). |
|00019070| 7b 0a 20 20 20 20 20 20 | 20 66 6f 72 20 28 63 6e |{. | for (cn|
|00019080| 74 3d 30 3b 20 63 6e 74 | 20 3c 20 4d 41 58 53 52 |t=0; cnt| < MAXSR|
|00019090| 43 52 45 46 3b 20 63 6e | 74 2b 2b 29 0a 20 20 20 |CREF; cn|t++). |
|000190a0| 20 20 20 20 20 20 20 72 | 65 66 5f 75 63 61 73 74 | r|ef_ucast|
|000190b0| 5f 73 65 6e 74 5b 63 6e | 74 5d 20 3d 20 30 3b 0a |_sent[cn|t] = 0;.|
|000190c0| 0a 20 20 20 20 20 20 20 | 73 70 74 72 20 3d 20 63 |. |sptr = c|
|000190d0| 6c 74 70 74 72 2d 3e 63 | 6c 6e 74 5f 76 6c 69 73 |ltptr->c|lnt_vlis|
|000190e0| 74 3b 0a 20 20 20 20 20 | 20 20 77 68 69 6c 65 20 |t;. | while |
|000190f0| 28 73 70 74 72 29 0a 20 | 20 20 20 20 20 20 7b 0a |(sptr). | {.|
|00019100| 09 20 20 69 66 20 28 73 | 70 74 72 2d 3e 73 6e 64 |. if (s|ptr->snd|
|00019110| 5f 63 6c 69 65 6e 74 2d | 3e 63 6c 6e 74 5f 66 6c |_client-|>clnt_fl|
|00019120| 61 67 73 20 26 20 52 45 | 46 33 5f 4f 52 49 47 49 |ags & RE|F3_ORIGI|
|00019130| 4e 29 0a 09 20 20 7b 0a | 20 20 20 20 20 20 20 20 |N).. {.| |
|00019140| 20 20 20 20 20 69 66 20 | 28 28 63 74 6d 70 20 3d | if |((ctmp =|
|00019150| 20 73 70 74 72 2d 3e 73 | 6e 64 5f 63 6c 69 65 6e | sptr->s|nd_clien|
|00019160| 74 2d 3e 63 6c 6e 74 5f | 70 70 74 72 29 20 3d 3d |t->clnt_|pptr) ==|
|00019170| 20 4e 55 4c 4c 29 0a 20 | 20 20 20 20 20 20 20 20 | NULL). | |
|00019180| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00019190| 20 20 20 20 20 20 64 6f | 6c 6f 67 28 22 52 45 46 | do|log("REF|
|000191a0| 33 5f 4f 52 49 47 49 4e | 20 63 6c 69 65 6e 74 20 |3_ORIGIN| client |
|000191b0| 77 69 74 68 6f 75 74 20 | 61 20 70 61 72 65 6e 74 |without |a parent|
|000191c0| 20 69 6e 20 64 69 73 74 | 72 69 62 75 74 65 5c 6e | in dist|ribute\n|
|000191d0| 22 29 3b 0a 09 09 64 65 | 6c 65 74 65 5f 63 6c 69 |");...de|lete_cli|
|000191e0| 65 6e 74 28 63 6c 74 70 | 74 72 29 3b 0a 09 09 72 |ent(cltp|tr);...r|
|000191f0| 65 74 75 72 6e 3b 0a 20 | 20 20 20 20 20 20 20 20 |eturn;. | |
|00019200| 20 20 20 20 7d 0a 0a 09 | 20 20 20 20 20 69 66 20 | }...| if |
|00019210| 28 28 63 74 6d 70 2d 3e | 63 6c 6e 74 5f 66 6c 61 |((ctmp->|clnt_fla|
|00019220| 67 73 20 26 20 52 45 46 | 33 5f 53 45 52 56 45 52 |gs & REF|3_SERVER|
|00019230| 29 20 3d 3d 20 30 29 0a | 20 20 20 20 20 20 20 20 |) == 0).| |
|00019240| 20 20 20 20 20 7b 0a 20 | 20 20 20 20 20 20 20 20 | {. | |
|00019250| 20 20 20 20 20 20 20 64 | 6f 6c 6f 67 28 22 52 45 | d|olog("RE|
|00019260| 46 33 5f 4f 52 49 47 49 | 4e 20 63 6c 69 65 6e 74 |F3_ORIGI|N client|
|00019270| 27 73 20 70 61 72 65 6e | 74 20 69 73 20 6e 6f 74 |'s paren|t is not|
|00019280| 20 61 20 52 45 46 33 5f | 53 45 52 56 45 52 5c 6e | a REF3_|SERVER\n|
|00019290| 22 29 3b 0a 09 09 64 65 | 6c 65 74 65 5f 63 6c 69 |");...de|lete_cli|
|000192a0| 65 6e 74 28 63 6c 74 70 | 74 72 29 3b 0a 09 09 72 |ent(cltp|tr);...r|
|000192b0| 65 74 75 72 6e 3b 0a 20 | 20 20 20 20 20 20 20 20 |eturn;. | |
|000192c0| 20 20 20 20 7d 0a 0a 20 | 20 20 20 20 20 20 20 20 | }.. | |
|000192d0| 20 20 20 20 69 66 20 28 | 28 72 65 66 5f 75 63 61 | if (|(ref_uca|
|000192e0| 73 74 5f 73 65 6e 74 5b | 63 74 6d 70 2d 3e 63 6c |st_sent[|ctmp->cl|
|000192f0| 6e 74 5f 69 64 5d 20 3d | 3d 20 30 29 20 26 26 20 |nt_id] =|= 0) && |
|00019300| 28 63 6c 74 70 74 72 2d | 3e 63 6c 6e 74 5f 66 6c |(cltptr-|>clnt_fl|
|00019310| 61 67 73 20 26 20 52 45 | 46 33 5f 4f 52 49 47 49 |ags & RE|F3_ORIGI|
|00019320| 4e 29 20 3d 3d 20 30 29 | 0a 09 20 20 20 20 20 7b |N) == 0)|.. {|
|00019330| 0a 09 20 20 20 20 20 20 | 20 20 72 65 66 5f 75 63 |.. | ref_uc|
|00019340| 61 73 74 5f 73 65 6e 74 | 5b 63 74 6d 70 2d 3e 63 |ast_sent|[ctmp->c|
|00019350| 6c 6e 74 5f 69 64 5d 20 | 3d 20 31 3b 0a 20 20 20 |lnt_id] |= 1;. |
|00019360| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 77 72 69 | | wri|
|00019370| 74 65 5f 70 6b 74 28 76 | 69 64 70 74 72 2c 63 74 |te_pkt(v|idptr,ct|
|00019380| 6d 70 29 3b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |mp);. | |
|00019390| 20 20 7d 0a 0a 20 20 20 | 20 20 20 20 20 20 20 20 | }.. | |
|000193a0| 20 20 73 70 74 72 20 3d | 20 73 70 74 72 2d 3e 73 | sptr =| sptr->s|
|000193b0| 6e 64 5f 6e 70 74 72 3b | 0a 09 20 20 20 20 20 63 |nd_nptr;|.. c|
|000193c0| 6f 6e 74 69 6e 75 65 3b | 0a 09 20 20 7d 0a 0a 20 |ontinue;|.. }.. |
|000193d0| 20 20 20 20 20 20 20 20 | 20 77 72 69 74 65 5f 70 | | write_p|
|000193e0| 6b 74 28 76 69 64 70 74 | 72 2c 73 70 74 72 2d 3e |kt(vidpt|r,sptr->|
|000193f0| 73 6e 64 5f 63 6c 69 65 | 6e 74 29 3b 0a 20 20 20 |snd_clie|nt);. |
|00019400| 20 20 20 20 20 20 20 73 | 70 74 72 20 3d 20 73 70 | s|ptr = sp|
|00019410| 74 72 2d 3e 73 6e 64 5f | 6e 70 74 72 3b 0a 20 20 |tr->snd_|nptr;. |
|00019420| 20 20 20 20 20 7d 0a 0a | 20 20 20 20 20 20 20 63 | }..| c|
|00019430| 74 6d 70 20 3d 20 63 68 | 65 61 64 3b 0a 20 20 20 |tmp = ch|ead;. |
|00019440| 20 20 20 20 77 68 69 6c | 65 20 28 63 74 6d 70 20 | whil|e (ctmp |
|00019450| 21 3d 20 4e 55 4c 4c 29 | 0a 20 20 20 20 20 20 20 |!= NULL)|. |
|00019460| 7b 0a 20 20 20 20 20 20 | 20 20 20 20 69 66 20 28 |{. | if (|
|00019470| 63 74 6d 70 2d 3e 63 6c | 6e 74 5f 66 6c 61 67 73 |ctmp->cl|nt_flags|
|00019480| 20 26 20 42 43 43 5f 43 | 4c 49 45 4e 54 29 0a 20 | & BCC_C|LIENT). |
|00019490| 20 20 20 20 20 20 20 20 | 20 20 20 20 77 72 69 74 | | writ|
|000194a0| 65 5f 70 6b 74 28 76 69 | 64 70 74 72 2c 63 74 6d |e_pkt(vi|dptr,ctm|
|000194b0| 70 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 63 74 |p);. | ct|
|000194c0| 6d 70 20 3d 20 63 74 6d | 70 2d 3e 63 6c 6e 74 5f |mp = ctm|p->clnt_|
|000194d0| 6e 70 74 72 3b 0a 20 20 | 20 20 20 20 20 7d 0a 20 |nptr;. | }. |
|000194e0| 20 20 20 7d 0a 20 20 20 | 20 65 6c 73 65 0a 20 20 | }. | else. |
|000194f0| 20 20 7b 0a 20 20 20 20 | 20 20 20 63 74 6d 70 20 | {. | ctmp |
|00019500| 3d 20 63 68 65 61 64 3b | 0a 20 20 20 20 20 20 20 |= chead;|. |
|00019510| 77 68 69 6c 65 20 28 63 | 74 6d 70 20 21 3d 20 4e |while (c|tmp != N|
|00019520| 55 4c 4c 29 0a 20 20 20 | 20 20 20 20 7b 0a 09 20 |ULL). | {.. |
|00019530| 20 69 66 20 28 28 63 74 | 6d 70 2d 3e 63 6c 6e 74 | if ((ct|mp->clnt|
|00019540| 5f 66 6c 61 67 73 20 26 | 20 43 4c 49 45 4e 54 29 |_flags &| CLIENT)|
|00019550| 20 26 26 20 28 28 73 65 | 6c 66 5f 72 65 66 6c 65 | && ((se|lf_refle|
|00019560| 63 74 20 3d 3d 20 31 29 | 20 7c 7c 20 28 63 6c 74 |ct == 1)| || (clt|
|00019570| 70 74 72 20 21 3d 20 63 | 74 6d 70 29 29 29 0a 20 |ptr != c|tmp))). |
|00019580| 20 20 20 20 20 20 20 20 | 20 20 20 20 77 72 69 74 | | writ|
|00019590| 65 5f 70 6b 74 28 76 69 | 64 70 74 72 2c 63 74 6d |e_pkt(vi|dptr,ctm|
|000195a0| 70 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 65 6c |p);. | el|
|000195b0| 73 65 0a 09 20 20 20 20 | 20 69 66 20 28 28 63 74 |se.. | if ((ct|
|000195c0| 6d 70 2d 3e 63 6c 6e 74 | 5f 66 6c 61 67 73 20 26 |mp->clnt|_flags &|
|000195d0| 20 52 45 46 33 5f 53 45 | 52 56 45 52 29 20 26 26 | REF3_SE|RVER) &&|
|000195e0| 20 28 28 63 6c 74 70 74 | 72 2d 3e 63 6c 6e 74 5f | ((cltpt|r->clnt_|
|000195f0| 66 6c 61 67 73 20 26 20 | 28 52 45 46 33 5f 53 45 |flags & |(REF3_SE|
|00019600| 52 56 45 52 20 7c 20 52 | 45 46 33 5f 4f 52 49 47 |RVER | R|EF3_ORIG|
|00019610| 49 4e 29 29 20 3d 3d 20 | 30 29 29 0a 20 20 20 20 |IN)) == |0)). |
|00019620| 20 20 20 20 20 20 20 20 | 20 20 20 20 77 72 69 74 | | writ|
|00019630| 65 5f 70 6b 74 28 76 69 | 64 70 74 72 2c 63 74 6d |e_pkt(vi|dptr,ctm|
|00019640| 70 29 3b 0a 09 20 20 20 | 20 20 65 6c 73 65 0a 09 |p);.. | else..|
|00019650| 20 20 20 20 20 20 20 20 | 69 66 20 28 28 63 74 6d | |if ((ctm|
|00019660| 70 2d 3e 63 6c 6e 74 5f | 66 6c 61 67 73 20 26 20 |p->clnt_|flags & |
|00019670| 42 43 43 5f 43 4c 49 45 | 4e 54 29 20 26 26 20 28 |BCC_CLIE|NT) && (|
|00019680| 63 6c 74 70 74 72 20 21 | 3d 20 63 74 6d 70 29 29 |cltptr !|= ctmp))|
|00019690| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000196a0| 20 20 20 20 77 72 69 74 | 65 5f 70 6b 74 28 76 69 | writ|e_pkt(vi|
|000196b0| 64 70 74 72 2c 63 74 6d | 70 29 3b 0a 20 20 20 20 |dptr,ctm|p);. |
|000196c0| 20 20 20 20 20 20 63 74 | 6d 70 20 3d 20 63 74 6d | ct|mp = ctm|
|000196d0| 70 2d 3e 63 6c 6e 74 5f | 6e 70 74 72 3b 0a 20 20 |p->clnt_|nptr;. |
|000196e0| 20 20 20 20 20 7d 0a 20 | 20 20 20 7d 0a 0a 23 69 | }. | }..#i|
|000196f0| 66 64 65 66 20 4d 55 4c | 54 49 0a 20 20 20 20 69 |fdef MUL|TI. i|
|00019700| 66 20 28 72 66 6f 75 74 | 5f 6d 63 61 73 74 2e 73 |f (rfout|_mcast.s|
|00019710| 69 6e 5f 61 64 64 72 2e | 73 5f 61 64 64 72 29 0a |in_addr.|s_addr).|
|00019720| 20 20 20 20 20 20 20 72 | 66 5f 6d 63 61 73 74 5f | r|f_mcast_|
|00019730| 77 72 74 28 76 69 64 70 | 74 72 29 3b 0a 0a 20 20 |wrt(vidp|tr);.. |
|00019740| 20 20 69 66 20 28 28 63 | 6c 74 70 74 72 2d 3e 63 | if ((c|ltptr->c|
|00019750| 6c 6e 74 5f 66 6c 61 67 | 73 20 26 20 28 52 45 46 |lnt_flag|s & (REF|
|00019760| 32 5f 53 45 52 56 45 52 | 20 7c 20 52 45 46 32 5f |2_SERVER| | REF2_|
|00019770| 4f 52 49 47 49 4e 29 29 | 20 3d 3d 20 30 29 0a 20 |ORIGIN))| == 0). |
|00019780| 20 20 20 20 20 20 69 66 | 20 28 69 6e 6f 75 74 5f | if| (inout_|
|00019790| 6d 63 61 73 74 2e 73 69 | 6e 5f 61 64 64 72 2e 73 |mcast.si|n_addr.s|
|000197a0| 5f 61 64 64 72 29 0a 20 | 20 20 20 20 20 20 20 20 |_addr). | |
|000197b0| 20 69 6e 6f 75 74 5f 6d | 63 61 73 74 5f 77 72 74 | inout_m|cast_wrt|
|000197c0| 28 76 69 64 70 74 72 29 | 3b 0a 0a 20 20 20 20 69 |(vidptr)|;.. i|
|000197d0| 66 20 28 6e 76 5f 6d 63 | 61 73 74 2e 73 69 6e 5f |f (nv_mc|ast.sin_|
|000197e0| 61 64 64 72 2e 73 5f 61 | 64 64 72 29 0a 20 20 20 |addr.s_a|ddr). |
|000197f0| 20 20 20 20 6e 76 5f 6d | 63 61 73 74 5f 77 72 74 | nv_m|cast_wrt|
|00019800| 28 76 69 64 70 74 72 2c | 63 6c 74 70 74 72 29 3b |(vidptr,|cltptr);|
|00019810| 0a 23 65 6e 64 69 66 0a | 7d 0a 0a 64 69 73 74 72 |.#endif.|}..distr|
|00019820| 69 62 75 74 65 5f 61 75 | 64 69 6f 28 76 69 64 70 |ibute_au|dio(vidp|
|00019830| 74 72 2c 63 6c 74 70 74 | 72 29 0a 20 20 20 56 69 |tr,cltpt|r). Vi|
|00019840| 64 65 6f 50 61 63 6b 65 | 74 48 65 61 64 65 72 20 |deoPacke|tHeader |
|00019850| 2a 76 69 64 70 74 72 3b | 0a 20 20 20 63 6c 69 65 |*vidptr;|. clie|
|00019860| 6e 74 20 2a 63 6c 74 70 | 74 72 3b 0a 7b 0a 20 20 |nt *cltp|tr;.{. |
|00019870| 20 20 63 6c 69 65 6e 74 | 20 20 20 20 20 20 20 20 | client| |
|00019880| 20 2a 63 74 6d 70 3b 0a | 20 20 20 20 75 6e 73 69 | *ctmp;.| unsi|
|00019890| 67 6e 65 64 20 63 68 61 | 72 20 20 2a 63 70 74 72 |gned cha|r *cptr|
|000198a0| 3b 0a 20 20 20 20 6d 61 | 76 65 6e 5f 63 6c 69 65 |;. ma|ven_clie|
|000198b0| 6e 74 20 20 20 2a 6d 74 | 6d 70 3b 0a 20 20 20 20 |nt *mt|mp;. |
|000198c0| 73 6c 69 73 74 20 20 20 | 20 20 20 20 20 20 20 2a |slist | *|
|000198d0| 73 70 74 72 3b 0a 20 20 | 20 20 73 74 72 75 63 74 |sptr;. | struct|
|000198e0| 20 69 6e 5f 61 64 64 72 | 20 69 6e 3b 0a 20 20 20 | in_addr| in;. |
|000198f0| 20 69 6e 74 20 20 20 20 | 20 20 20 20 20 20 20 20 | int | |
|00019900| 6c 65 6e 2c 63 6e 74 3b | 0a 20 20 20 20 73 68 6f |len,cnt;|. sho|
|00019910| 72 74 20 20 20 20 20 20 | 20 20 20 20 72 65 66 5f |rt | ref_|
|00019920| 75 63 61 73 74 5f 73 65 | 6e 74 5b 4d 41 58 53 52 |ucast_se|nt[MAXSR|
|00019930| 43 52 45 46 5d 3b 20 20 | 20 20 0a 0a 20 20 20 20 |CREF]; | .. |
|00019940| 69 66 20 28 63 6c 74 70 | 74 72 2d 3e 63 6c 6e 74 |if (cltp|tr->clnt|
|00019950| 5f 74 61 6c 6b 65 72 20 | 3d 3d 20 30 29 0a 20 20 |_talker |== 0). |
|00019960| 20 20 20 20 20 64 6f 6c | 6f 67 28 22 25 73 20 69 | dol|og("%s i|
|00019970| 73 20 73 70 65 61 6b 69 | 6e 67 5c 6e 22 2c 63 6c |s speaki|ng\n",cl|
|00019980| 74 70 74 72 2d 3e 63 6c | 6e 74 5f 63 6f 6e 66 69 |tptr->cl|nt_confi|
|00019990| 67 2e 6e 61 6d 65 29 3b | 0a 0a 20 20 20 20 69 66 |g.name);|.. if|
|000199a0| 20 28 63 6c 74 70 74 72 | 2d 3e 63 6c 6e 74 5f 74 | (cltptr|->clnt_t|
|000199b0| 61 6c 6b 65 72 2b 2b 20 | 3e 20 35 30 29 0a 20 20 |alker++ |> 50). |
|000199c0| 20 20 20 20 20 63 6c 74 | 70 74 72 2d 3e 63 6c 6e | clt|ptr->cln|
|000199d0| 74 5f 74 61 6c 6b 65 72 | 20 3d 20 30 3b 0a 0a 20 |t_talker| = 0;.. |
|000199e0| 20 20 20 69 66 20 28 63 | 6c 74 70 74 72 2d 3e 63 | if (c|ltptr->c|
|000199f0| 6c 6e 74 5f 63 6f 6e 66 | 69 67 2e 73 65 6e 64 4d |lnt_conf|ig.sendM|
|00019a00| 6f 64 65 20 3d 3d 20 30 | 29 0a 20 20 20 20 7b 0a |ode == 0|). {.|
|00019a10| 20 20 20 20 20 20 20 63 | 74 6d 70 20 3d 20 63 68 | c|tmp = ch|
|00019a20| 65 61 64 3b 0a 20 20 20 | 20 20 20 20 77 68 69 6c |ead;. | whil|
|00019a30| 65 20 28 63 74 6d 70 20 | 21 3d 20 4e 55 4c 4c 29 |e (ctmp |!= NULL)|
|00019a40| 0a 20 20 20 20 20 20 20 | 7b 0a 20 20 20 20 20 20 |. |{. |
|00019a50| 20 20 20 20 69 66 20 28 | 63 74 6d 70 2d 3e 63 6c | if (|ctmp->cl|
|00019a60| 6e 74 5f 66 6c 61 67 73 | 20 26 20 43 4c 49 45 4e |nt_flags| & CLIEN|
|00019a70| 54 29 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |T). | |
|00019a80| 69 66 20 28 28 63 74 6d | 70 2d 3e 63 6c 6e 74 5f |if ((ctm|p->clnt_|
|00019a90| 63 6f 6e 66 69 67 2e 66 | 6c 61 67 73 20 26 20 52 |config.f|lags & R|
|00019aa0| 45 43 5f 41 55 44 49 4f | 29 20 26 26 20 28 63 74 |EC_AUDIO|) && (ct|
|00019ab0| 6d 70 2d 3e 63 6c 6e 74 | 5f 63 6f 6e 66 69 67 2e |mp->clnt|_config.|
|00019ac0| 66 6c 61 67 73 20 26 20 | 57 41 4e 54 5f 4c 55 52 |flags & |WANT_LUR|
|00019ad0| 43 4b 45 52 53 29 29 0a | 20 20 20 20 20 20 20 20 |CKERS)).| |
|00019ae0| 20 20 20 20 20 20 20 20 | 77 72 69 74 65 5f 70 6b | |write_pk|
|00019af0| 74 28 76 69 64 70 74 72 | 2c 63 74 6d 70 29 3b 0a |t(vidptr|,ctmp);.|
|00019b00| 20 20 20 20 20 20 20 20 | 20 63 74 6d 70 20 3d 20 | | ctmp = |
|00019b10| 63 74 6d 70 2d 3e 63 6c | 6e 74 5f 6e 70 74 72 3b |ctmp->cl|nt_nptr;|
|00019b20| 0a 20 20 20 20 20 20 20 | 7d 0a 20 20 20 20 7d 0a |. |}. }.|
|00019b30| 20 20 20 20 65 6c 73 65 | 0a 20 20 20 20 7b 0a 20 | else|. {. |
|00019b40| 20 20 20 20 20 20 66 6f | 72 20 28 63 6e 74 3d 30 | fo|r (cnt=0|
|00019b50| 3b 20 63 6e 74 20 3c 20 | 4d 41 58 53 52 43 52 45 |; cnt < |MAXSRCRE|
|00019b60| 46 3b 20 63 6e 74 2b 2b | 29 0a 20 20 20 20 20 20 |F; cnt++|). |
|00019b70| 20 20 20 20 72 65 66 5f | 75 63 61 73 74 5f 73 65 | ref_|ucast_se|
|00019b80| 6e 74 5b 63 6e 74 5d 20 | 3d 20 30 3b 0a 0a 20 20 |nt[cnt] |= 0;.. |
|00019b90| 20 20 20 20 20 73 70 74 | 72 20 3d 20 63 6c 74 70 | spt|r = cltp|
|00019ba0| 74 72 2d 3e 63 6c 6e 74 | 5f 61 6c 69 73 74 3b 0a |tr->clnt|_alist;.|
|00019bb0| 20 20 20 20 20 20 20 77 | 68 69 6c 65 20 28 73 70 | w|hile (sp|
|00019bc0| 74 72 29 0a 20 20 20 20 | 20 20 20 7b 0a 09 20 20 |tr). | {.. |
|00019bd0| 69 66 20 28 73 70 74 72 | 2d 3e 73 6e 64 5f 63 6c |if (sptr|->snd_cl|
|00019be0| 69 65 6e 74 2d 3e 63 6c | 6e 74 5f 66 6c 61 67 73 |ient->cl|nt_flags|
|00019bf0| 20 26 20 52 45 46 33 5f | 4f 52 49 47 49 4e 29 0a | & REF3_|ORIGIN).|
|00019c00| 09 20 20 7b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |. {. | |
|00019c10| 20 20 69 66 20 28 28 63 | 74 6d 70 20 3d 20 73 70 | if ((c|tmp = sp|
|00019c20| 74 72 2d 3e 73 6e 64 5f | 63 6c 69 65 6e 74 2d 3e |tr->snd_|client->|
|00019c30| 63 6c 6e 74 5f 70 70 74 | 72 29 20 3d 3d 20 4e 55 |clnt_ppt|r) == NU|
|00019c40| 4c 4c 29 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |LL). | |
|00019c50| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00019c60| 20 20 20 64 6f 6c 6f 67 | 28 22 52 45 46 33 5f 4f | dolog|("REF3_O|
|00019c70| 52 49 47 49 4e 20 63 6c | 69 65 6e 74 20 77 69 74 |RIGIN cl|ient wit|
|00019c80| 68 6f 75 74 20 61 20 70 | 61 72 65 6e 74 20 69 6e |hout a p|arent in|
|00019c90| 20 64 69 73 74 72 69 62 | 75 74 65 5f 61 75 64 69 | distrib|ute_audi|
|00019ca0| 6f 5c 6e 22 29 3b 0a 09 | 09 64 65 6c 65 74 65 5f |o\n");..|.delete_|
|00019cb0| 63 6c 69 65 6e 74 28 63 | 6c 74 70 74 72 29 3b 0a |client(c|ltptr);.|
|00019cc0| 09 09 72 65 74 75 72 6e | 3b 0a 20 20 20 20 20 20 |..return|;. |
|00019cd0| 20 20 20 20 20 20 20 7d | 0a 0a 09 20 20 20 20 20 | }|... |
|00019ce0| 69 66 20 28 28 63 74 6d | 70 2d 3e 63 6c 6e 74 5f |if ((ctm|p->clnt_|
|00019cf0| 66 6c 61 67 73 20 26 20 | 52 45 46 33 5f 53 45 52 |flags & |REF3_SER|
|00019d00| 56 45 52 29 20 3d 3d 20 | 30 29 0a 20 20 20 20 20 |VER) == |0). |
|00019d10| 20 20 20 20 20 20 20 20 | 7b 0a 20 20 20 20 20 20 | |{. |
|00019d20| 20 20 20 20 20 20 20 20 | 20 20 64 6f 6c 6f 67 28 | | dolog(|
|00019d30| 22 52 45 46 33 5f 4f 52 | 49 47 49 4e 20 63 6c 69 |"REF3_OR|IGIN cli|
|00019d40| 65 6e 74 27 73 20 70 61 | 72 65 6e 74 20 69 73 20 |ent's pa|rent is |
|00019d50| 6e 6f 74 20 61 20 52 45 | 46 33 5f 53 45 52 56 45 |not a RE|F3_SERVE|
|00019d60| 52 5c 6e 22 29 3b 0a 09 | 09 64 65 6c 65 74 65 5f |R\n");..|.delete_|
|00019d70| 63 6c 69 65 6e 74 28 63 | 6c 74 70 74 72 29 3b 0a |client(c|ltptr);.|
|00019d80| 09 09 72 65 74 75 72 6e | 3b 0a 20 20 20 20 20 20 |..return|;. |
|00019d90| 20 20 20 20 20 20 20 7d | 0a 0a 20 20 20 20 20 20 | }|.. |
|00019da0| 20 20 20 20 20 20 20 69 | 66 20 28 28 72 65 66 5f | i|f ((ref_|
|00019db0| 75 63 61 73 74 5f 73 65 | 6e 74 5b 63 74 6d 70 2d |ucast_se|nt[ctmp-|
|00019dc0| 3e 63 6c 6e 74 5f 69 64 | 5d 20 3d 3d 20 30 29 20 |>clnt_id|] == 0) |
|00019dd0| 26 26 20 28 63 6c 74 70 | 74 72 2d 3e 63 6c 6e 74 |&& (cltp|tr->clnt|
|00019de0| 5f 66 6c 61 67 73 20 26 | 20 52 45 46 33 5f 4f 52 |_flags &| REF3_OR|
|00019df0| 49 47 49 4e 29 20 3d 3d | 20 30 29 0a 09 20 20 20 |IGIN) ==| 0).. |
|00019e00| 20 20 7b 0a 09 20 20 20 | 20 20 20 20 20 72 65 66 | {.. | ref|
|00019e10| 5f 75 63 61 73 74 5f 73 | 65 6e 74 5b 63 74 6d 70 |_ucast_s|ent[ctmp|
|00019e20| 2d 3e 63 6c 6e 74 5f 69 | 64 5d 20 3d 20 31 3b 0a |->clnt_i|d] = 1;.|
|00019e30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00019e40| 77 72 69 74 65 5f 70 6b | 74 28 76 69 64 70 74 72 |write_pk|t(vidptr|
|00019e50| 2c 63 74 6d 70 29 3b 0a | 20 20 20 20 20 20 20 20 |,ctmp);.| |
|00019e60| 20 20 20 20 20 7d 0a 0a | 20 20 20 20 20 20 20 20 | }..| |
|00019e70| 20 20 20 20 20 73 70 74 | 72 20 3d 20 73 70 74 72 | spt|r = sptr|
|00019e80| 2d 3e 73 6e 64 5f 6e 70 | 74 72 3b 0a 09 20 20 20 |->snd_np|tr;.. |
|00019e90| 20 20 63 6f 6e 74 69 6e | 75 65 3b 0a 09 20 20 7d | contin|ue;.. }|
|00019ea0| 0a 0a 20 20 20 20 20 20 | 20 20 20 20 77 72 69 74 |.. | writ|
|00019eb0| 65 5f 70 6b 74 28 76 69 | 64 70 74 72 2c 73 70 74 |e_pkt(vi|dptr,spt|
|00019ec0| 72 2d 3e 73 6e 64 5f 63 | 6c 69 65 6e 74 29 3b 0a |r->snd_c|lient);.|
|00019ed0| 20 20 20 20 20 20 20 20 | 20 20 73 70 74 72 20 3d | | sptr =|
|00019ee0| 20 73 70 74 72 2d 3e 73 | 6e 64 5f 6e 70 74 72 3b | sptr->s|nd_nptr;|
|00019ef0| 0a 20 20 20 20 20 20 20 | 7d 0a 20 20 20 20 7d 0a |. |}. }.|
|00019f00| 0a 20 20 20 20 63 74 6d | 70 20 3d 20 63 68 65 61 |. ctm|p = chea|
|00019f10| 64 3b 0a 20 20 20 20 77 | 68 69 6c 65 20 28 63 74 |d;. w|hile (ct|
|00019f20| 6d 70 20 21 3d 20 4e 55 | 4c 4c 29 0a 20 20 20 20 |mp != NU|LL). |
|00019f30| 7b 0a 20 20 20 20 20 20 | 20 69 66 20 28 63 74 6d |{. | if (ctm|
|00019f40| 70 2d 3e 63 6c 6e 74 5f | 66 6c 61 67 73 20 26 20 |p->clnt_|flags & |
|00019f50| 42 43 43 5f 43 4c 49 45 | 4e 54 29 0a 20 20 20 20 |BCC_CLIE|NT). |
|00019f60| 20 20 20 20 20 20 77 72 | 69 74 65 5f 70 6b 74 28 | wr|ite_pkt(|
|00019f70| 76 69 64 70 74 72 2c 63 | 74 6d 70 29 3b 0a 20 20 |vidptr,c|tmp);. |
|00019f80| 20 20 20 20 20 63 74 6d | 70 20 3d 20 63 74 6d 70 | ctm|p = ctmp|
|00019f90| 2d 3e 63 6c 6e 74 5f 6e | 70 74 72 3b 0a 20 20 20 |->clnt_n|ptr;. |
|00019fa0| 20 7d 0a 0a 23 69 66 64 | 65 66 20 4d 55 4c 54 49 | }..#ifd|ef MULTI|
|00019fb0| 0a 20 20 20 20 69 66 20 | 28 72 66 6f 75 74 5f 6d |. if |(rfout_m|
|00019fc0| 63 61 73 74 2e 73 69 6e | 5f 61 64 64 72 2e 73 5f |cast.sin|_addr.s_|
|00019fd0| 61 64 64 72 29 0a 20 20 | 20 20 20 20 20 72 66 5f |addr). | rf_|
|00019fe0| 6d 63 61 73 74 5f 77 72 | 74 28 76 69 64 70 74 72 |mcast_wr|t(vidptr|
|00019ff0| 29 3b 0a 0a 20 20 20 20 | 69 66 20 28 28 63 6c 74 |);.. |if ((clt|
|0001a000| 70 74 72 2d 3e 63 6c 6e | 74 5f 66 6c 61 67 73 20 |ptr->cln|t_flags |
|0001a010| 26 20 28 52 45 46 32 5f | 53 45 52 56 45 52 20 7c |& (REF2_|SERVER ||
|0001a020| 20 52 45 46 32 5f 4f 52 | 49 47 49 4e 29 29 20 3d | REF2_OR|IGIN)) =|
|0001a030| 3d 20 30 29 0a 20 20 20 | 20 20 20 20 69 66 20 28 |= 0). | if (|
|0001a040| 69 6e 6f 75 74 5f 6d 63 | 61 73 74 2e 73 69 6e 5f |inout_mc|ast.sin_|
|0001a050| 61 64 64 72 2e 73 5f 61 | 64 64 72 29 0a 20 20 20 |addr.s_a|ddr). |
|0001a060| 20 20 20 20 20 20 20 69 | 6e 6f 75 74 5f 6d 63 61 | i|nout_mca|
|0001a070| 73 74 5f 77 72 74 28 76 | 69 64 70 74 72 29 3b 0a |st_wrt(v|idptr);.|
|0001a080| 23 65 6e 64 69 66 0a 0a | 20 20 20 20 63 70 74 72 |#endif..| cptr|
|0001a090| 20 3d 20 28 28 75 6e 73 | 69 67 6e 65 64 20 63 68 | = ((uns|igned ch|
|0001a0a0| 61 72 20 2a 29 20 76 69 | 64 70 74 72 29 20 2b 20 |ar *) vi|dptr) + |
|0001a0b0| 48 45 41 44 45 52 4c 45 | 4e 3b 0a 20 20 20 20 6c |HEADERLE|N;. l|
|0001a0c0| 65 6e 20 3d 20 76 69 64 | 70 74 72 2d 3e 6c 65 6e |en = vid|ptr->len|
|0001a0d0| 20 2d 20 48 45 41 44 45 | 52 4c 45 4e 3b 0a 20 20 | - HEADE|RLEN;. |
|0001a0e0| 20 20 6d 74 6d 70 20 3d | 20 6d 68 65 61 64 3b 0a | mtmp =| mhead;.|
|0001a0f0| 0a 20 20 20 20 77 68 69 | 6c 65 20 28 6d 74 6d 70 |. whi|le (mtmp|
|0001a100| 20 21 3d 20 4e 55 4c 4c | 29 0a 20 20 20 20 7b 0a | != NULL|). {.|
|0001a110| 20 20 20 20 20 20 20 69 | 66 20 28 73 65 6e 64 74 | i|f (sendt|
|0001a120| 6f 28 6d 61 76 65 6e 5f | 73 6f 63 6b 2c 63 70 74 |o(maven_|sock,cpt|
|0001a130| 72 2c 6c 65 6e 2c 30 2c | 26 6d 74 6d 70 2d 3e 6d |r,len,0,|&mtmp->m|
|0001a140| 76 6e 5f 61 64 64 72 2c | 73 69 7a 65 6f 66 28 73 |vn_addr,|sizeof(s|
|0001a150| 74 72 75 63 74 20 73 6f | 63 6b 61 64 64 72 5f 69 |truct so|ckaddr_i|
|0001a160| 6e 29 29 20 21 3d 20 6c | 65 6e 29 0a 20 20 20 20 |n)) != l|en). |
|0001a170| 20 20 20 20 20 20 64 6f | 6c 6f 67 28 22 6d 61 76 | do|log("mav|
|0001a180| 65 6e 20 73 65 6e 64 74 | 6f 20 65 72 72 6f 72 20 |en sendt|o error |
|0001a190| 69 6e 20 64 69 73 74 72 | 69 62 75 74 65 5c 6e 22 |in distr|ibute\n"|
|0001a1a0| 29 3b 0a 20 20 20 20 20 | 20 20 6d 74 6d 70 20 3d |);. | mtmp =|
|0001a1b0| 20 6d 74 6d 70 2d 3e 6d | 76 6e 5f 6e 70 74 72 3b | mtmp->m|vn_nptr;|
|0001a1c0| 0a 20 20 20 20 7d 0a 7d | 0a 0a 73 68 6f 72 74 20 |. }.}|..short |
|0001a1d0| 64 65 6e 79 28 63 73 6f | 63 6b 29 0a 20 20 20 20 |deny(cso|ck). |
|0001a1e0| 73 74 72 75 63 74 20 73 | 6f 63 6b 61 64 64 72 5f |struct s|ockaddr_|
|0001a1f0| 69 6e 20 20 63 73 6f 63 | 6b 3b 0a 7b 0a 20 20 20 |in csoc|k;.{. |
|0001a200| 20 73 68 6f 72 74 20 63 | 6e 74 3b 0a 0a 20 20 20 | short c|nt;.. |
|0001a210| 20 66 6f 72 20 28 63 6e | 74 3d 30 3b 20 63 6e 74 | for (cn|t=0; cnt|
|0001a220| 3c 64 65 6e 79 5f 63 6e | 74 3b 20 63 6e 74 2b 2b |<deny_cn|t; cnt++|
|0001a230| 29 0a 20 20 20 20 20 20 | 20 69 66 20 28 64 65 6e |). | if (den|
|0001a240| 79 5f 6c 69 73 74 5b 63 | 6e 74 5d 20 3d 3d 20 63 |y_list[c|nt] == c|
|0001a250| 73 6f 63 6b 2e 73 69 6e | 5f 61 64 64 72 2e 73 5f |sock.sin|_addr.s_|
|0001a260| 61 64 64 72 29 0a 20 20 | 20 20 20 20 20 20 20 20 |addr). | |
|0001a270| 72 65 74 75 72 6e 28 31 | 29 3b 0a 0a 20 20 20 72 |return(1|);.. r|
|0001a280| 65 74 75 72 6e 28 30 29 | 3b 0a 7d 0a 65 61 64 3b |eturn(0)|;.}.ead;|
|0001a290| 0a 0a 20 20 20 20 77 68 | 69 6c 65 20 28 6d 74 6d |.. wh|ile (mtm|
|0001a2a0| 70 20 21 3d 20 4e 55 4c | 4c 29 0a 20 20 20 20 7b |p != NUL|L). {|
|0001a2b0| 0a 20 20 20 20 20 20 69 | 66 20 28 6d 74 6d 70 2d |. i|f (mtmp-|
|0001a2c0| 3e 6d 76 6e 5f 72 74 69 | 6d 65 72 2b 2b 20 20 3e |>mvn_rti|mer++ >|
|0001a2d0| 20 35 30 29 0a 20 20 20 | 20 20 20 7b 0a 09 20 69 | 50). | {.. i|
|0001a2e0| 6e 2e 73 5f 61 64 64 72 | 20 3d 20 20 6d 74 6d 70 |n.s_addr| = mtmp|
|0001a2f0| 2d 3e 6d 76 6e 5f 61 64 | 64 72 2e 61 64 64 72 3b |->mvn_ad|dr.addr;|
|0001a300| 0a 09 20 64 6f 6c 6f 67 | 28 22 44 65 6c 65 74 69 |.. dolog|("Deleti|
|0001a310| 6e 67 20 4d 61 76 65 6e | 20 63 6c 69 65 6e 74 20 |ng Maven| client |
|0001a320| 61 74 20 25 73 5c 6e 22 | 2c 20 69 6e 65 74 5f 6e |at %s\n"|, inet_n|
|0001a330| 74 6f 61 28 69 6e 29 29 | 3b 0a 0a 09 20 69 66 20 |toa(in))|;... if |
|0001a340| 28 6d 74 6d 70 20 3d 3d | 20 6d 68 65 61 64 29 0a |(mtmp ==| mhead).|
|0001a350| 09 20 7b 0a 09 20 20 20 | 20 6d 68 65 61 64 20 3d |. {.. | mhead =|
|0001a360| 20 6d 74 6d 70 2d 3e 6d | 76 6e 5f 6e 70 74 72 3b | mtmp->m|vn_nptr;|
|0001a370| 0a 09 20 20 20 20 6d 74 | 6d 70 31 20 3d 20 6d 74 |.. mt|mp1 = mt|
|0001a380| 6d 70 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |mp;. | |
|0001a390| 6d 74 6d 70 20 3d 20 6d | 74 6d 70 2d 3e 6d 76 6e |mtmp = m|tmp->mvn|
|0001a3a0| 5f 6e 70 74 72 3b 0a 20 | 20 20 20 20 20 20 20 20 |_nptr;. | |
|0001a3b0| 20 20 20 66 72 65 65 28 | 6d 74 6d 70 31 29 3b 0a | free(|mtmp1);.|
|0001a3c0| 20 20 20 20 20 20 20 20 | 20 7d 0a 20 20 20 20 20 | | }. |
|0001a3d0| 20 20 20 20 65 6c 73 65 | 0a 09 20 7b 0a 09 20 20 | else|.. {.. |
|0001a3e0| 20 20 6d 74 6d 70 31 20 | 3d 20 6d 68 65 61 64 3b | mtmp1 |= mhead;|
|0001a3f0| 0a 09 20 20 20 20 77 68 | 69 6c 65 20 28 6d 74 6d |.. wh|ile (mtm|
|0001a400| 32 2e 33 30 62 31 2f 72 | 65 66 75 74 69 6c 2e 63 |2.30b1/r|efutil.c|
|0001a410| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a420| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a430| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a440| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a450| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a460| 00 00 00 00 31 30 30 36 | 34 34 20 00 30 30 30 30 |....1006|44 .0000|
|0001a470| 30 36 20 00 30 30 30 30 | 30 30 20 00 30 30 30 30 |06 .0000|00 .0000|
|0001a480| 30 30 32 31 30 30 33 20 | 30 35 36 30 32 36 33 31 |0021003 |05602631|
|0001a490| 33 33 33 20 30 31 34 30 | 32 31 00 20 30 00 00 00 |333 0140|21. 0...|
|0001a4a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a4b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a4c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a4d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a4e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a4f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a500| 00 75 73 74 61 72 00 30 | 30 6c 79 6e 6e 00 00 00 |.ustar.0|0lynn...|
|0001a510| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a520| 00 00 00 00 00 00 00 00 | 00 73 79 73 74 65 6d 00 |........|.system.|
|0001a530| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a540| 00 00 00 00 00 00 00 00 | 00 30 30 30 30 30 30 20 |........|.000000 |
|0001a550| 00 30 30 30 30 30 30 20 | 00 00 00 00 00 00 00 00 |.000000 |........|
|0001a560| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a570| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a580| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a590| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a5a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a5b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a5c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a5d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a5e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a5f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001a600| 2f 2a 0a 0a 43 6f 70 79 | 72 69 67 68 74 20 31 39 |/*..Copy|right 19|
|0001a610| 39 33 2c 20 31 39 39 34 | 2c 20 43 6f 72 6e 65 6c |93, 1994|, Cornel|
|0001a620| 6c 20 55 6e 69 76 65 72 | 73 69 74 79 0a 0a 43 6f |l Univer|sity..Co|
|0001a630| 72 6e 65 6c 6c 20 68 65 | 72 65 62 79 20 67 72 61 |rnell he|reby gra|
|0001a640| 6e 74 73 20 70 65 72 6d | 69 73 73 69 6f 6e 20 74 |nts perm|ission t|
|0001a650| 6f 20 75 73 65 2c 20 63 | 6f 70 79 2c 20 6d 6f 64 |o use, c|opy, mod|
|0001a660| 69 66 79 2c 20 61 6e 64 | 20 64 69 73 74 72 69 62 |ify, and| distrib|
|0001a670| 75 74 65 20 74 68 69 73 | 20 70 72 6f 67 72 61 6d |ute this| program|
|0001a680| 20 66 6f 72 20 61 6e 79 | 20 70 75 72 70 6f 73 65 | for any| purpose|
|0001a690| 20 0a 61 6e 64 20 77 69 | 74 68 6f 75 74 20 66 65 | .and wi|thout fe|
|0001a6a0| 65 2c 20 70 72 6f 76 69 | 64 65 64 20 74 68 61 74 |e, provi|ded that|
|0001a6b0| 20 74 68 65 73 65 20 63 | 6f 70 79 72 69 67 68 74 | these c|opyright|
|0001a6c0| 20 61 6e 64 20 70 65 72 | 6d 69 73 73 69 6f 6e 20 | and per|mission |
|0001a6d0| 6e 6f 74 69 63 65 73 20 | 61 70 70 65 61 72 20 6f |notices |appear o|
|0001a6e0| 6e 20 61 6c 6c 20 63 6f | 70 69 65 73 20 61 6e 64 |n all co|pies and|
|0001a6f0| 20 0a 73 75 70 70 6f 72 | 74 69 6e 67 20 64 6f 63 | .suppor|ting doc|
|0001a700| 75 6d 65 6e 74 61 74 69 | 6f 6e 2c 20 74 68 65 20 |umentati|on, the |
|0001a710| 6e 61 6d 65 20 6f 66 20 | 43 6f 72 6e 65 6c 6c 20 |name of |Cornell |
|0001a720| 6e 6f 74 20 62 65 20 75 | 73 65 64 20 69 6e 20 61 |not be u|sed in a|
|0001a730| 64 76 65 72 74 69 73 69 | 6e 67 20 6f 72 20 70 75 |dvertisi|ng or pu|
|0001a740| 62 6c 69 63 69 74 79 20 | 70 65 72 74 61 69 6e 69 |blicity |pertaini|
|0001a750| 6e 67 20 0a 74 6f 20 64 | 69 73 74 72 69 62 75 74 |ng .to d|istribut|
|0001a760| 69 6f 6e 20 6f 66 20 74 | 68 65 20 70 72 6f 67 72 |ion of t|he progr|
|0001a770| 61 6d 20 77 69 74 68 6f | 75 74 20 73 70 65 63 69 |am witho|ut speci|
|0001a780| 66 69 63 20 70 72 69 6f | 72 20 70 65 72 6d 69 73 |fic prio|r permis|
|0001a790| 73 69 6f 6e 2c 20 6e 6f | 74 69 63 65 20 62 65 20 |sion, no|tice be |
|0001a7a0| 67 69 76 65 6e 20 69 6e | 20 73 75 70 70 6f 72 74 |given in| support|
|0001a7b0| 69 6e 67 20 0a 64 6f 63 | 75 6d 65 6e 74 61 74 69 |ing .doc|umentati|
|0001a7c0| 6f 6e 20 74 68 61 74 20 | 63 6f 70 79 69 6e 67 20 |on that |copying |
|0001a7d0| 61 6e 64 20 64 69 73 74 | 72 69 62 75 74 69 6f 6e |and dist|ribution|
|0001a7e0| 20 69 73 20 62 79 20 70 | 65 72 6d 69 73 73 69 6f | is by p|ermissio|
|0001a7f0| 6e 20 6f 66 20 43 6f 72 | 6e 65 6c 6c 2e 20 20 43 |n of Cor|nell. C|
|0001a800| 4f 52 4e 45 4c 4c 20 4d | 41 4b 45 53 20 4e 4f 20 |ORNELL M|AKES NO |
|0001a810| 0a 52 45 50 52 45 53 45 | 4e 54 41 54 49 4f 4e 53 |.REPRESE|NTATIONS|
|0001a820| 20 4f 52 20 57 41 52 52 | 41 4e 54 45 45 53 2c 20 | OR WARR|ANTEES, |
|0001a830| 45 58 50 52 45 53 53 20 | 4f 52 20 49 4d 50 4c 49 |EXPRESS |OR IMPLI|
|0001a840| 45 44 2e 20 20 42 79 20 | 77 61 79 20 6f 66 20 65 |ED. By |way of e|
|0001a850| 78 61 6d 70 6c 65 2c 20 | 62 75 74 20 6e 6f 74 20 |xample, |but not |
|0001a860| 6c 69 6d 69 74 61 74 69 | 6f 6e 2c 20 0a 43 4f 52 |limitati|on, .COR|
|0001a870| 4e 45 4c 4c 20 4d 41 4b | 45 53 20 4e 4f 20 52 45 |NELL MAK|ES NO RE|
|0001a880| 50 52 45 53 45 4e 54 41 | 54 49 4f 4e 53 20 4f 52 |PRESENTA|TIONS OR|
|0001a890| 20 57 41 52 52 41 4e 54 | 49 45 53 20 4f 46 20 4d | WARRANT|IES OF M|
|0001a8a0| 45 52 43 48 41 4e 54 41 | 42 49 4c 49 54 59 20 4f |ERCHANTA|BILITY O|
|0001a8b0| 52 20 46 49 54 4e 45 53 | 53 20 46 4f 52 20 41 4e |R FITNES|S FOR AN|
|0001a8c0| 59 20 50 41 52 54 49 43 | 55 4c 41 52 20 0a 50 55 |Y PARTIC|ULAR .PU|
|0001a8d0| 52 50 4f 53 45 20 4f 52 | 20 54 48 41 54 20 54 48 |RPOSE OR| THAT TH|
|0001a8e0| 45 20 55 53 45 20 4f 46 | 20 54 48 49 53 20 53 4f |E USE OF| THIS SO|
|0001a8f0| 46 54 57 41 52 45 20 4f | 52 20 44 4f 43 55 4d 45 |FTWARE O|R DOCUME|
|0001a900| 4e 54 41 54 49 4f 4e 20 | 57 49 4c 4c 20 4e 4f 54 |NTATION |WILL NOT|
|0001a910| 20 49 4e 46 52 49 4e 47 | 45 20 41 4e 59 20 50 41 | INFRING|E ANY PA|
|0001a920| 54 45 4e 54 53 2c 20 43 | 4f 50 59 52 49 47 48 54 |TENTS, C|OPYRIGHT|
|0001a930| 53 2c 20 0a 54 52 41 44 | 45 4d 41 52 4b 53 2c 20 |S, .TRAD|EMARKS, |
|0001a940| 4f 52 20 4f 54 48 45 52 | 20 52 49 47 48 54 53 2e |OR OTHER| RIGHTS.|
|0001a950| 20 20 43 6f 72 6e 65 6c | 6c 20 73 68 61 6c 6c 20 | Cornel|l shall |
|0001a960| 6e 6f 74 20 62 65 20 68 | 65 6c 64 20 6c 69 61 62 |not be h|eld liab|
|0001a970| 6c 65 20 66 6f 72 20 61 | 6e 79 20 6c 69 61 62 69 |le for a|ny liabi|
|0001a980| 6c 69 74 79 20 77 69 74 | 68 20 72 65 73 70 65 63 |lity wit|h respec|
|0001a990| 74 20 74 6f 20 0a 61 6e | 79 20 63 6c 61 69 6d 20 |t to .an|y claim |
|0001a9a0| 62 79 20 74 68 65 20 75 | 73 65 72 20 6f 72 20 61 |by the u|ser or a|
|0001a9b0| 6e 79 20 6f 74 68 65 72 | 20 70 61 72 74 79 20 61 |ny other| party a|
|0001a9c0| 72 69 73 69 6e 67 20 66 | 72 6f 6d 20 75 73 65 20 |rising f|rom use |
|0001a9d0| 6f 66 20 74 68 65 20 70 | 72 6f 67 72 61 6d 2e 0a |of the p|rogram..|
|0001a9e0| 0a 54 68 69 73 20 6d 61 | 74 65 72 69 61 6c 20 69 |.This ma|terial i|
|0001a9f0| 73 20 70 61 72 74 69 61 | 6c 6c 79 20 62 61 73 65 |s partia|lly base|
|0001aa00| 64 20 6f 6e 20 77 6f 72 | 6b 20 73 70 6f 6e 73 6f |d on wor|k sponso|
|0001aa10| 72 65 64 20 62 79 20 74 | 68 65 20 4e 61 74 69 6f |red by t|he Natio|
|0001aa20| 6e 61 6c 20 53 63 69 65 | 6e 63 65 20 46 6f 75 6e |nal Scie|nce Foun|
|0001aa30| 64 61 74 69 6f 6e 20 75 | 6e 64 65 72 20 43 6f 6f |dation u|nder Coo|
|0001aa40| 70 65 72 61 74 69 76 65 | 20 0a 41 67 72 65 65 6d |perative| .Agreem|
|0001aa50| 65 6e 74 20 4e 6f 2e 20 | 4e 43 52 2d 39 33 31 38 |ent No. |NCR-9318|
|0001aa60| 33 33 37 2e 20 20 54 68 | 65 20 67 6f 76 65 72 6e |337. Th|e govern|
|0001aa70| 6d 65 6e 74 20 68 61 73 | 20 63 65 72 74 61 69 6e |ment has| certain|
|0001aa80| 20 72 69 67 68 74 73 20 | 69 6e 20 74 68 69 73 20 | rights |in this |
|0001aa90| 6d 61 74 65 72 69 61 6c | 2e 0a 0a 2a 2f 0a 0a 0a |material|...*/...|
|0001aaa0| 0a 23 69 6e 63 6c 75 64 | 65 20 3c 73 74 64 69 6f |.#includ|e <stdio|
|0001aab0| 2e 68 3e 0a 23 69 6e 63 | 6c 75 64 65 20 3c 73 69 |.h>.#inc|lude <si|
|0001aac0| 67 6e 61 6c 2e 68 3e 0a | 23 69 6e 63 6c 75 64 65 |gnal.h>.|#include|
|0001aad0| 20 3c 65 72 72 6e 6f 2e | 68 3e 0a 23 69 6e 63 6c | <errno.|h>.#incl|
|0001aae0| 75 64 65 20 3c 73 79 73 | 2f 74 79 70 65 73 2e 68 |ude <sys|/types.h|
|0001aaf0| 3e 0a 23 69 6e 63 6c 75 | 64 65 20 3c 73 79 73 2f |>.#inclu|de <sys/|
|0001ab00| 73 6f 63 6b 65 74 2e 68 | 3e 0a 23 69 6e 63 6c 75 |socket.h|>.#inclu|
|0001ab10| 64 65 20 3c 73 79 73 2f | 73 6f 63 6b 65 74 76 61 |de <sys/|socketva|
|0001ab20| 72 2e 68 3e 0a 23 69 6e | 63 6c 75 64 65 20 3c 6e |r.h>.#in|clude <n|
|0001ab30| 65 74 69 6e 65 74 2f 69 | 6e 2e 68 3e 0a 0a 23 69 |etinet/i|n.h>..#i|
|0001ab40| 6e 63 6c 75 64 65 20 22 | 72 65 66 6c 65 63 74 2e |nclude "|reflect.|
|0001ab50| 68 22 0a 23 69 6e 63 6c | 75 64 65 20 22 72 65 66 |h".#incl|ude "ref|
|0001ab60| 6d 6f 6e 2e 68 22 0a 0a | 23 69 66 64 65 66 20 44 |mon.h"..|#ifdef D|
|0001ab70| 45 42 55 47 0a 65 78 74 | 65 72 6e 20 73 68 6f 72 |EBUG.ext|ern shor|
|0001ab80| 74 20 64 65 62 75 67 3b | 0a 23 65 6e 64 69 66 0a |t debug;|.#endif.|
|0001ab90| 0a 65 78 74 65 72 6e 20 | 63 6c 69 65 6e 74 20 2a |.extern |client *|
|0001aba0| 66 69 6e 64 5f 63 6c 69 | 65 6e 74 28 29 3b 0a 76 |find_cli|ent();.v|
|0001abb0| 6f 69 64 20 20 20 20 20 | 20 20 20 20 20 6d 79 5f |oid | my_|
|0001abc0| 70 65 72 72 6f 72 28 29 | 3b 0a 0a 65 78 74 65 72 |perror()|;..exter|
|0001abd0| 6e 20 63 6c 69 65 6e 74 | 20 2a 63 68 65 61 64 3b |n client| *chead;|
|0001abe0| 0a 65 78 74 65 72 6e 20 | 69 6e 74 20 76 69 64 5f |.extern |int vid_|
|0001abf0| 73 6f 63 6b 3b 0a 0a 65 | 78 74 65 72 6e 20 75 6e |sock;..e|xtern un|
|0001ac00| 73 69 67 6e 65 64 20 6c | 6f 6e 67 20 62 63 63 5f |signed l|ong bcc_|
|0001ac10| 73 65 72 76 65 72 5f 6c | 69 73 74 5b 4d 41 58 53 |server_l|ist[MAXS|
|0001ac20| 52 43 52 45 46 5d 3b 0a | 65 78 74 65 72 6e 20 73 |RCREF];.|extern s|
|0001ac30| 68 6f 72 74 20 62 63 63 | 5f 73 72 76 5f 63 6e 74 |hort bcc|_srv_cnt|
|0001ac40| 3b 0a 0a 65 78 74 65 72 | 6e 20 75 6e 73 69 67 6e |;..exter|n unsign|
|0001ac50| 65 64 20 6c 6f 6e 67 20 | 62 63 63 5f 63 6c 69 65 |ed long |bcc_clie|
|0001ac60| 6e 74 5b 4d 41 58 53 52 | 43 52 45 46 5d 3b 0a 65 |nt[MAXSR|CREF];.e|
|0001ac70| 78 74 65 72 6e 20 73 68 | 6f 72 74 20 62 63 63 5f |xtern sh|ort bcc_|
|0001ac80| 63 6c 74 5f 63 6e 74 3b | 0a 0a 65 78 74 65 72 6e |clt_cnt;|..extern|
|0001ac90| 20 75 6e 73 69 67 6e 65 | 64 20 6c 6f 6e 67 20 72 | unsigne|d long r|
|0001aca0| 65 66 5f 75 63 61 73 74 | 5f 6c 69 73 74 5b 5d 3b |ef_ucast|_list[];|
|0001acb0| 0a 65 78 74 65 72 6e 20 | 73 68 6f 72 74 20 72 65 |.extern |short re|
|0001acc0| 66 5f 75 63 61 73 74 5f | 63 6e 74 3b 0a 0a 0a 73 |f_ucast_|cnt;...s|
|0001acd0| 74 72 75 63 74 20 73 6f | 63 6b 61 64 64 72 5f 69 |truct so|ckaddr_i|
|0001ace0| 6e 20 6d 79 61 64 64 72 | 3b 20 20 20 20 20 20 20 |n myaddr|; |
|0001acf0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 0a 0a 23 | | ..#|
|0001ad00| 69 66 64 65 66 20 4d 55 | 4c 54 49 0a 65 78 74 65 |ifdef MU|LTI.exte|
|0001ad10| 72 6e 20 73 74 72 75 63 | 74 20 73 6f 63 6b 61 64 |rn struc|t sockad|
|0001ad20| 64 72 5f 69 6e 20 6e 76 | 5f 6d 63 61 73 74 3b 0a |dr_in nv|_mcast;.|
|0001ad30| 65 78 74 65 72 6e 20 69 | 6e 74 20 6e 76 5f 6d 63 |extern i|nt nv_mc|
|0001ad40| 61 73 74 5f 73 6f 63 6b | 3b 0a 65 78 74 65 72 6e |ast_sock|;.extern|
|0001ad50| 20 73 74 72 75 63 74 20 | 73 6f 63 6b 61 64 64 72 | struct |sockaddr|
|0001ad60| 5f 69 6e 20 72 66 6f 75 | 74 5f 6d 63 61 73 74 3b |_in rfou|t_mcast;|
|0001ad70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 0a | | .|
|0001ad80| 65 78 74 65 72 6e 20 69 | 6e 74 20 72 66 6f 75 74 |extern i|nt rfout|
|0001ad90| 5f 6d 63 61 73 74 5f 73 | 6f 63 6b 3b 0a 65 78 74 |_mcast_s|ock;.ext|
|0001ada0| 65 72 6e 20 73 74 72 75 | 63 74 20 73 6f 63 6b 61 |ern stru|ct socka|
|0001adb0| 64 64 72 5f 69 6e 20 69 | 6e 6f 75 74 5f 6d 63 61 |ddr_in i|nout_mca|
|0001adc0| 73 74 3b 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |st; | |
|0001add0| 20 20 0a 65 78 74 65 72 | 6e 20 69 6e 74 20 69 6e | .exter|n int in|
|0001ade0| 6f 75 74 5f 6d 63 61 73 | 74 5f 73 6f 63 6b 3b 0a |out_mcas|t_sock;.|
|0001adf0| 23 65 6e 64 69 66 0a 0a | 2f 2a 20 0a 20 20 20 69 |#endif..|/* . i|
|0001ae00| 6e 69 74 69 61 6c 69 7a | 65 20 74 68 65 20 6c 69 |nitializ|e the li|
|0001ae10| 73 74 20 6f 66 20 73 65 | 72 76 65 72 73 20 66 72 |st of se|rvers fr|
|0001ae20| 6f 6d 20 77 68 6f 6d 20 | 77 65 20 68 6f 70 65 20 |om whom |we hope |
|0001ae30| 74 6f 20 61 74 74 61 69 | 6e 20 61 20 73 74 72 65 |to attai|n a stre|
|0001ae40| 61 6d 20 6f 66 20 0a 20 | 20 20 42 6c 69 6e 64 20 |am of . | Blind |
|0001ae50| 43 61 72 62 6f 6e 20 43 | 6f 70 79 20 76 69 64 65 |Carbon C|opy vide|
|0001ae60| 6f 0a 2a 2f 0a 0a 6f 70 | 65 6e 5f 62 63 63 5f 73 |o.*/..op|en_bcc_s|
|0001ae70| 65 72 76 65 72 73 28 29 | 0a 7b 0a 20 20 20 20 56 |ervers()|.{. V|
|0001ae80| 69 64 65 6f 50 61 63 6b | 65 74 48 65 61 64 65 72 |ideoPack|etHeader|
|0001ae90| 20 70 6b 74 3b 0a 20 20 | 20 20 63 6c 69 65 6e 74 | pkt;. | client|
|0001aea0| 20 2a 63 74 6d 70 2c 63 | 74 6d 70 31 3b 0a 20 20 | *ctmp,c|tmp1;. |
|0001aeb0| 20 20 73 68 6f 72 74 20 | 63 6e 74 3b 0a 0a 20 20 | short |cnt;.. |
|0001aec0| 20 20 66 6f 72 20 28 63 | 6e 74 20 3d 20 30 3b 20 | for (c|nt = 0; |
|0001aed0| 63 6e 74 20 3c 20 62 63 | 63 5f 73 72 76 5f 63 6e |cnt < bc|c_srv_cn|
|0001aee0| 74 3b 20 63 6e 74 2b 2b | 29 0a 20 20 20 20 7b 0a |t; cnt++|). {.|
|0001aef0| 20 20 20 20 20 20 20 70 | 6b 74 2e 72 6f 75 74 69 | p|kt.routi|
|0001af00| 6e 67 2e 73 72 63 2e 66 | 61 6d 69 6c 79 20 3d 20 |ng.src.f|amily = |
|0001af10| 68 74 6f 6e 73 28 6b 52 | 65 66 6c 65 63 74 6f 72 |htons(kR|eflector|
|0001af20| 29 3b 0a 20 20 20 20 20 | 20 20 62 63 6f 70 79 28 |);. | bcopy(|
|0001af30| 26 6d 79 61 64 64 72 2e | 73 69 6e 5f 61 64 64 72 |&myaddr.|sin_addr|
|0001af40| 2e 73 5f 61 64 64 72 2c | 26 70 6b 74 2e 72 6f 75 |.s_addr,|&pkt.rou|
|0001af50| 74 69 6e 67 2e 73 72 63 | 2e 61 64 64 72 2c 34 29 |ting.src|.addr,4)|
|0001af60| 3b 0a 20 20 20 20 20 20 | 20 70 6b 74 2e 72 6f 75 |;. | pkt.rou|
|0001af70| 74 69 6e 67 2e 73 72 63 | 2e 70 6f 72 74 20 3d 20 |ting.src|.port = |
|0001af80| 68 74 6f 6e 73 28 56 49 | 44 5f 50 4f 52 54 29 3b |htons(VI|D_PORT);|
|0001af90| 0a 0a 20 20 20 20 20 20 | 20 70 6b 74 2e 72 6f 75 |.. | pkt.rou|
|0001afa0| 74 69 6e 67 2e 64 65 73 | 74 2e 66 61 6d 69 6c 79 |ting.des|t.family|
|0001afb0| 20 3d 20 68 74 6f 6e 73 | 28 6b 52 65 66 6c 65 63 | = htons|(kReflec|
|0001afc0| 74 6f 72 29 3b 0a 20 20 | 20 20 20 20 20 62 63 6f |tor);. | bco|
|0001afd0| 70 79 28 26 62 63 63 5f | 73 65 72 76 65 72 5f 6c |py(&bcc_|server_l|
|0001afe0| 69 73 74 5b 63 6e 74 5d | 2c 26 70 6b 74 2e 72 6f |ist[cnt]|,&pkt.ro|
|0001aff0| 75 74 69 6e 67 2e 64 65 | 73 74 2e 61 64 64 72 2c |uting.de|st.addr,|
|0001b000| 34 29 3b 0a 20 20 20 20 | 20 20 20 70 6b 74 2e 72 |4);. | pkt.r|
|0001b010| 6f 75 74 69 6e 67 2e 64 | 65 73 74 2e 70 6f 72 74 |outing.d|est.port|
|0001b020| 20 3d 20 68 74 6f 6e 73 | 28 56 49 44 5f 50 4f 52 | = htons|(VID_POR|
|0001b030| 54 29 3b 0a 20 20 20 0a | 20 20 20 20 20 20 20 70 |T);. .| p|
|0001b040| 6b 74 2e 73 65 71 4e 75 | 6d 20 3d 20 30 3b 0a 20 |kt.seqNu|m = 0;. |
|0001b050| 20 20 20 20 20 20 70 6b | 74 2e 64 61 74 61 54 79 | pk|t.dataTy|
|0001b060| 70 65 20 3d 20 68 74 6f | 6e 73 28 6b 43 6f 6e 66 |pe = hto|ns(kConf|
|0001b070| 69 67 52 65 66 54 79 70 | 65 29 3b 0a 20 20 20 20 |igRefTyp|e);. |
|0001b080| 20 20 20 70 6b 74 2e 6c | 65 6e 20 3d 20 68 74 6f | pkt.l|en = hto|
|0001b090| 6e 73 28 73 69 7a 65 6f | 66 28 56 69 64 65 6f 50 |ns(sizeo|f(VideoP|
|0001b0a0| 61 63 6b 65 74 48 65 61 | 64 65 72 29 29 3b 0a 20 |acketHea|der));. |
|0001b0b0| 20 20 20 20 20 20 70 6b | 74 2e 6d 65 73 73 61 67 | pk|t.messag|
|0001b0c0| 65 20 3d 20 68 74 6f 6e | 73 28 6b 4f 70 65 6e 43 |e = hton|s(kOpenC|
|0001b0d0| 6f 6e 6e 65 63 74 69 6f | 6e 29 3b 0a 0a 0a 23 69 |onnectio|n);...#i|
|0001b0e0| 66 64 65 66 20 44 45 42 | 55 47 0a 20 20 20 20 20 |fdef DEB|UG. |
|0001b0f0| 20 20 69 66 20 28 64 65 | 62 75 67 29 0a 20 20 20 | if (de|bug). |
|0001b100| 20 20 20 20 20 20 20 70 | 72 69 6e 74 66 28 22 73 | p|rintf("s|
|0001b110| 65 6e 64 69 6e 67 20 42 | 43 43 20 73 65 72 76 65 |ending B|CC serve|
|0001b120| 72 20 6b 65 65 70 20 61 | 6c 69 76 65 20 22 29 3b |r keep a|live ");|
|0001b130| 0a 23 65 6e 64 69 66 0a | 0a 20 20 20 20 20 20 20 |.#endif.|. |
|0001b140| 2f 2a 20 0a 09 20 20 69 | 66 20 74 68 65 20 73 65 |/* .. i|f the se|
|0001b150| 72 76 65 72 20 69 73 20 | 61 6c 72 65 61 64 79 20 |rver is |already |
|0001b160| 69 6e 20 6f 75 72 20 63 | 6c 69 65 6e 74 20 6c 69 |in our c|lient li|
|0001b170| 73 74 2e 20 75 73 65 20 | 69 74 73 20 61 63 74 75 |st. use |its actu|
|0001b180| 61 6c 20 63 6c 69 65 6e | 74 0a 09 20 20 70 74 72 |al clien|t.. ptr|
|0001b190| 2c 20 65 6c 73 65 20 6a | 75 73 74 20 75 73 20 61 |, else j|ust us a|
|0001b1a0| 20 74 65 6d 70 6f 72 61 | 72 79 20 6f 6e 65 20 66 | tempora|ry one f|
|0001b1b0| 6f 72 20 6e 6f 77 0a 20 | 20 20 20 20 20 20 2a 2f |or now. | */|
|0001b1c0| 0a 0a 20 20 20 20 20 20 | 20 69 66 20 28 28 63 74 |.. | if ((ct|
|0001b1d0| 6d 70 20 3d 20 66 69 6e | 64 5f 63 6c 69 65 6e 74 |mp = fin|d_client|
|0001b1e0| 28 62 63 63 5f 73 65 72 | 76 65 72 5f 6c 69 73 74 |(bcc_ser|ver_list|
|0001b1f0| 5b 63 6e 74 5d 29 29 20 | 3d 3d 20 4e 55 4c 4c 29 |[cnt])) |== NULL)|
|0001b200| 0a 20 20 20 20 20 20 20 | 7b 0a 20 20 20 20 20 20 |. |{. |
|0001b210| 20 20 20 20 62 63 6f 70 | 79 28 26 62 63 63 5f 73 | bcop|y(&bcc_s|
|0001b220| 65 72 76 65 72 5f 6c 69 | 73 74 5b 63 6e 74 5d 2c |erver_li|st[cnt],|
|0001b230| 26 63 74 6d 70 31 2e 63 | 6c 6e 74 5f 61 64 64 72 |&ctmp1.c|lnt_addr|
|0001b240| 2e 61 64 64 72 2c 34 29 | 3b 0a 09 20 20 63 74 6d |.addr,4)|;.. ctm|
|0001b250| 70 31 2e 63 6c 6e 74 5f | 61 64 64 72 2e 66 61 6d |p1.clnt_|addr.fam|
|0001b260| 69 6c 79 20 3d 20 41 46 | 5f 49 4e 45 54 3b 0a 09 |ily = AF|_INET;..|
|0001b270| 20 20 63 74 6d 70 31 2e | 63 6c 6e 74 5f 61 64 64 | ctmp1.|clnt_add|
|0001b280| 72 2e 70 6f 72 74 20 3d | 20 68 74 6f 6e 73 28 56 |r.port =| htons(V|
|0001b290| 49 44 5f 50 4f 52 54 29 | 3b 0a 09 20 20 63 74 6d |ID_PORT)|;.. ctm|
|0001b2a0| 70 31 2e 63 6c 6e 74 5f | 66 6c 61 67 73 20 3d 20 |p1.clnt_|flags = |
|0001b2b0| 42 43 43 5f 53 45 52 56 | 45 52 3b 0a 20 20 20 20 |BCC_SERV|ER;. |
|0001b2c0| 20 20 20 20 20 20 77 72 | 69 74 65 5f 70 6b 74 28 | wr|ite_pkt(|
|0001b2d0| 26 70 6b 74 2c 26 63 74 | 6d 70 31 29 3b 0a 20 20 |&pkt,&ct|mp1);. |
|0001b2e0| 20 20 20 20 20 7d 0a 20 | 20 20 20 20 20 20 65 6c | }. | el|
|0001b2f0| 73 65 0a 20 20 20 20 20 | 20 20 20 20 20 77 72 69 |se. | wri|
|0001b300| 74 65 5f 70 6b 74 28 26 | 70 6b 74 2c 63 74 6d 70 |te_pkt(&|pkt,ctmp|
|0001b310| 29 3b 0a 20 20 20 20 7d | 0a 7d 0a 0a 6f 70 65 6e |);. }|.}..open|
|0001b320| 5f 75 63 61 73 74 5f 72 | 65 66 28 29 0a 7b 0a 20 |_ucast_r|ef().{. |
|0001b330| 20 20 20 56 69 64 65 6f | 50 61 63 6b 65 74 48 65 | Video|PacketHe|
|0001b340| 61 64 65 72 20 70 6b 74 | 3b 0a 20 20 20 20 63 6c |ader pkt|;. cl|
|0001b350| 69 65 6e 74 20 2a 63 74 | 6d 70 2c 63 74 6d 70 31 |ient *ct|mp,ctmp1|
|0001b360| 3b 0a 20 20 20 20 73 68 | 6f 72 74 20 63 6e 74 3b |;. sh|ort cnt;|
|0001b370| 0a 0a 20 20 20 20 66 6f | 72 20 28 63 6e 74 20 3d |.. fo|r (cnt =|
|0001b380| 20 30 3b 20 63 6e 74 20 | 3c 20 72 65 66 5f 75 63 | 0; cnt |< ref_uc|
|0001b390| 61 73 74 5f 63 6e 74 3b | 20 63 6e 74 2b 2b 29 0a |ast_cnt;| cnt++).|
|0001b3a0| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 70 6b 74 | {. | pkt|
|0001b3b0| 2e 72 6f 75 74 69 6e 67 | 2e 73 72 63 2e 66 61 6d |.routing|.src.fam|
|0001b3c0| 69 6c 79 20 3d 20 68 74 | 6f 6e 73 28 6b 52 65 66 |ily = ht|ons(kRef|
|0001b3d0| 6c 65 63 74 6f 72 29 3b | 0a 20 20 20 20 20 20 20 |lector);|. |
|0001b3e0| 62 63 6f 70 79 28 26 6d | 79 61 64 64 72 2e 73 69 |bcopy(&m|yaddr.si|
|0001b3f0| 6e 5f 61 64 64 72 2e 73 | 5f 61 64 64 72 2c 26 70 |n_addr.s|_addr,&p|
|0001b400| 6b 74 2e 72 6f 75 74 69 | 6e 67 2e 73 72 63 2e 61 |kt.routi|ng.src.a|
|0001b410| 64 64 72 2c 34 29 3b 0a | 20 20 20 20 20 20 20 70 |ddr,4);.| p|
|0001b420| 6b 74 2e 72 6f 75 74 69 | 6e 67 2e 73 72 63 2e 70 |kt.routi|ng.src.p|
|0001b430| 6f 72 74 20 3d 20 68 74 | 6f 6e 73 28 56 49 44 5f |ort = ht|ons(VID_|
|0001b440| 50 4f 52 54 29 3b 0a 0a | 20 20 20 20 20 20 20 70 |PORT);..| p|
|0001b450| 6b 74 2e 72 6f 75 74 69 | 6e 67 2e 64 65 73 74 2e |kt.routi|ng.dest.|
|0001b460| 66 61 6d 69 6c 79 20 3d | 20 68 74 6f 6e 73 28 6b |family =| htons(k|
|0001b470| 52 65 66 6c 65 63 74 6f | 72 29 3b 0a 20 20 20 20 |Reflecto|r);. |
|0001b480| 20 20 20 62 63 6f 70 79 | 28 26 62 63 63 5f 73 65 | bcopy|(&bcc_se|
|0001b490| 72 76 65 72 5f 6c 69 73 | 74 5b 63 6e 74 5d 2c 26 |rver_lis|t[cnt],&|
|0001b4a0| 70 6b 74 2e 72 6f 75 74 | 69 6e 67 2e 64 65 73 74 |pkt.rout|ing.dest|
|0001b4b0| 2e 61 64 64 72 2c 34 29 | 3b 0a 20 20 20 20 20 20 |.addr,4)|;. |
|0001b4c0| 20 70 6b 74 2e 72 6f 75 | 74 69 6e 67 2e 64 65 73 | pkt.rou|ting.des|
|0001b4d0| 74 2e 70 6f 72 74 20 3d | 20 68 74 6f 6e 73 28 56 |t.port =| htons(V|
|0001b4e0| 49 44 5f 50 4f 52 54 29 | 3b 0a 20 20 20 0a 20 20 |ID_PORT)|;. . |
|0001b4f0| 20 20 20 20 20 70 6b 74 | 2e 73 65 71 4e 75 6d 20 | pkt|.seqNum |
|0001b500| 3d 20 30 3b 0a 20 20 20 | 20 20 20 20 70 6b 74 2e |= 0;. | pkt.|
|0001b510| 64 61 74 61 54 79 70 65 | 20 3d 20 68 74 6f 6e 73 |dataType| = htons|
|0001b520| 28 6b 43 6f 6e 66 69 67 | 52 65 66 54 79 70 65 29 |(kConfig|RefType)|
|0001b530| 3b 0a 20 20 20 20 20 20 | 20 70 6b 74 2e 6c 65 6e |;. | pkt.len|
|0001b540| 20 3d 20 68 74 6f 6e 73 | 28 73 69 7a 65 6f 66 28 | = htons|(sizeof(|
|0001b550| 56 69 64 65 6f 50 61 63 | 6b 65 74 48 65 61 64 65 |VideoPac|ketHeade|
|0001b560| 72 29 29 3b 0a 20 20 20 | 20 20 20 20 70 6b 74 2e |r));. | pkt.|
|0001b570| 6d 65 73 73 61 67 65 20 | 3d 20 20 68 74 6f 6e 73 |message |= htons|
|0001b580| 28 6b 4f 70 65 6e 43 6f | 6e 6e 65 63 74 69 6f 6e |(kOpenCo|nnection|
|0001b590| 29 3b 0a 0a 0a 23 69 66 | 64 65 66 20 44 45 42 55 |);...#if|def DEBU|
|0001b5a0| 47 0a 20 20 20 20 20 20 | 20 69 66 20 28 64 65 62 |G. | if (deb|
|0001b5b0| 75 67 29 0a 20 20 20 20 | 20 20 20 20 20 20 70 72 |ug). | pr|
|0001b5c0| 69 6e 74 66 28 22 73 65 | 6e 64 69 6e 67 20 75 6e |intf("se|nding un|
|0001b5d0| 69 63 61 73 74 20 73 65 | 72 76 65 72 20 6b 65 65 |icast se|rver kee|
|0001b5e0| 70 20 61 6c 69 76 65 20 | 22 29 3b 0a 23 65 6e 64 |p alive |");.#end|
|0001b5f0| 69 66 0a 0a 20 20 20 20 | 20 20 20 2f 2a 20 0a 09 |if.. | /* ..|
|0001b600| 20 20 69 66 20 74 68 65 | 20 73 65 72 76 65 72 20 | if the| server |
|0001b610| 69 73 20 61 6c 72 65 61 | 64 79 20 69 6e 20 6f 75 |is alrea|dy in ou|
|0001b620| 72 20 63 6c 69 65 6e 74 | 20 6c 69 73 74 2e 20 75 |r client| list. u|
|0001b630| 73 65 20 69 74 73 20 61 | 63 74 75 61 6c 20 63 6c |se its a|ctual cl|
|0001b640| 69 65 6e 74 0a 09 20 20 | 70 74 72 2c 20 65 6c 73 |ient.. |ptr, els|
|0001b650| 65 20 6a 75 73 74 20 75 | 73 20 61 20 74 65 6d 70 |e just u|s a temp|
|0001b660| 6f 72 61 72 79 20 6f 6e | 65 20 66 6f 72 20 6e 6f |orary on|e for no|
|0001b670| 77 0a 20 20 20 20 20 20 | 20 2a 2f 0a 0a 20 20 20 |w. | */.. |
|0001b680| 20 20 20 20 69 66 20 28 | 28 63 74 6d 70 20 3d 20 | if (|(ctmp = |
|0001b690| 66 69 6e 64 5f 63 6c 69 | 65 6e 74 28 72 65 66 5f |find_cli|ent(ref_|
|0001b6a0| 75 63 61 73 74 5f 6c 69 | 73 74 5b 63 6e 74 5d 29 |ucast_li|st[cnt])|
|0001b6b0| 29 20 3d 3d 20 4e 55 4c | 4c 29 0a 20 20 20 20 20 |) == NUL|L). |
|0001b6c0| 20 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 62 63 | {. | bc|
|0001b6d0| 6f 70 79 28 26 72 65 66 | 5f 75 63 61 73 74 5f 6c |opy(&ref|_ucast_l|
|0001b6e0| 69 73 74 5b 63 6e 74 5d | 2c 26 63 74 6d 70 31 2e |ist[cnt]|,&ctmp1.|
|0001b6f0| 63 6c 6e 74 5f 61 64 64 | 72 2e 61 64 64 72 2c 34 |clnt_add|r.addr,4|
|0001b700| 29 3b 0a 09 20 20 63 74 | 6d 70 31 2e 63 6c 6e 74 |);.. ct|mp1.clnt|
|0001b710| 5f 61 64 64 72 2e 66 61 | 6d 69 6c 79 20 3d 20 41 |_addr.fa|mily = A|
|0001b720| 46 5f 49 4e 45 54 3b 0a | 09 20 20 63 74 6d 70 31 |F_INET;.|. ctmp1|
|0001b730| 2e 63 6c 6e 74 5f 61 64 | 64 72 2e 70 6f 72 74 20 |.clnt_ad|dr.port |
|0001b740| 3d 20 68 74 6f 6e 73 28 | 56 49 44 5f 50 4f 52 54 |= htons(|VID_PORT|
|0001b750| 29 3b 0a 09 20 20 63 74 | 6d 70 31 2e 63 6c 6e 74 |);.. ct|mp1.clnt|
|0001b760| 5f 66 6c 61 67 73 20 3d | 20 52 45 46 33 5f 53 45 |_flags =| REF3_SE|
|0001b770| 52 56 45 52 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |RVER;. | |
|0001b780| 77 72 69 74 65 5f 70 6b | 74 28 26 70 6b 74 2c 26 |write_pk|t(&pkt,&|
|0001b790| 63 74 6d 70 31 29 3b 0a | 20 20 20 20 20 20 20 7d |ctmp1);.| }|
|0001b7a0| 0a 20 20 20 20 20 20 20 | 65 6c 73 65 0a 20 20 20 |. |else. |
|0001b7b0| 20 20 20 20 20 20 20 77 | 72 69 74 65 5f 70 6b 74 | w|rite_pkt|
|0001b7c0| 28 26 70 6b 74 2c 63 74 | 6d 70 29 3b 0a 20 20 20 |(&pkt,ct|mp);. |
|0001b7d0| 20 7d 0a 7d 0a 0a 77 72 | 69 74 65 5f 6d 73 67 28 | }.}..wr|ite_msg(|
|0001b7e0| 63 6c 6e 74 5f 61 64 64 | 72 2c 74 79 70 65 2c 63 |clnt_add|r,type,c|
|0001b7f0| 70 74 72 29 0a 20 20 20 | 20 73 74 72 75 63 74 20 |ptr). | struct |
|0001b800| 73 6f 63 6b 61 64 64 72 | 5f 69 6e 20 20 2a 63 6c |sockaddr|_in *cl|
|0001b810| 6e 74 5f 61 64 64 72 3b | 0a 20 20 20 20 73 68 6f |nt_addr;|. sho|
|0001b820| 72 74 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |rt | |
|0001b830| 20 74 79 70 65 3b 0a 20 | 20 20 20 63 68 61 72 20 | type;. | char |
|0001b840| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 2a | | *|
|0001b850| 63 70 74 72 3b 0a 7b 0a | 20 20 20 20 73 74 61 74 |cptr;.{.| stat|
|0001b860| 69 63 20 63 68 61 72 20 | 20 20 20 20 20 20 20 20 |ic char | |
|0001b870| 62 75 66 5b 4d 41 58 4d | 53 47 5d 3b 0a 20 20 20 |buf[MAXM|SG];. |
|0001b880| 20 56 69 64 65 6f 50 61 | 63 6b 65 74 48 65 61 64 | VideoPa|cketHead|
|0001b890| 65 72 20 20 20 2a 70 6b | 74 3d 28 56 69 64 65 6f |er *pk|t=(Video|
|0001b8a0| 50 61 63 6b 65 74 48 65 | 61 64 65 72 20 2a 29 62 |PacketHe|ader *)b|
|0001b8b0| 75 66 3b 0a 20 20 20 20 | 63 68 61 72 20 20 20 20 |uf;. |char |
|0001b8c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 2a 74 6d 70 | | *tmp|
|0001b8d0| 2c 63 6c 65 6e 3b 0a 20 | 20 20 20 73 68 6f 72 74 |,clen;. | short|
|0001b8e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 6d | | m|
|0001b8f0| 6c 65 6e 2c 63 6e 74 3b | 0a 20 20 20 20 69 6e 74 |len,cnt;|. int|
|0001b900| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|0001b910| 20 6c 65 6e 3b 0a 0a 20 | 20 20 20 70 6b 74 2d 3e | len;.. | pkt->|
|0001b920| 72 6f 75 74 69 6e 67 2e | 73 72 63 2e 66 61 6d 69 |routing.|src.fami|
|0001b930| 6c 79 20 3d 20 68 74 6f | 6e 73 28 6b 52 65 66 6c |ly = hto|ns(kRefl|
|0001b940| 65 63 74 6f 72 29 3b 0a | 20 20 20 20 62 63 6f 70 |ector);.| bcop|
|0001b950| 79 28 26 6d 79 61 64 64 | 72 2e 73 69 6e 5f 61 64 |y(&myadd|r.sin_ad|
|0001b960| 64 72 2e 73 5f 61 64 64 | 72 2c 26 70 6b 74 2d 3e |dr.s_add|r,&pkt->|
|0001b970| 72 6f 75 74 69 6e 67 2e | 73 72 63 2e 61 64 64 72 |routing.|src.addr|
|0001b980| 2c 34 29 3b 0a 20 20 20 | 20 70 6b 74 2d 3e 72 6f |,4);. | pkt->ro|
|0001b990| 75 74 69 6e 67 2e 73 72 | 63 2e 70 6f 72 74 20 3d |uting.sr|c.port =|
|0001b9a0| 20 68 74 6f 6e 73 28 56 | 49 44 5f 50 4f 52 54 29 | htons(V|ID_PORT)|
|0001b9b0| 3b 0a 0a 20 20 20 20 70 | 6b 74 2d 3e 72 6f 75 74 |;.. p|kt->rout|
|0001b9c0| 69 6e 67 2e 64 65 73 74 | 2e 66 61 6d 69 6c 79 20 |ing.dest|.family |
|0001b9d0| 3d 20 68 74 6f 6e 73 28 | 6b 43 6c 69 65 6e 74 29 |= htons(|kClient)|
|0001b9e0| 3b 0a 20 20 20 20 62 63 | 6f 70 79 28 26 63 6c 6e |;. bc|opy(&cln|
|0001b9f0| 74 5f 61 64 64 72 2d 3e | 73 69 6e 5f 61 64 64 72 |t_addr->|sin_addr|
|0001ba00| 2c 26 70 6b 74 2d 3e 72 | 6f 75 74 69 6e 67 2e 64 |,&pkt->r|outing.d|
|0001ba10| 65 73 74 2e 61 64 64 72 | 2c 34 29 3b 0a 20 20 20 |est.addr|,4);. |
|0001ba20| 20 70 6b 74 2d 3e 72 6f | 75 74 69 6e 67 2e 64 65 | pkt->ro|uting.de|
|0001ba30| 73 74 2e 70 6f 72 74 20 | 3d 20 68 74 6f 6e 73 28 |st.port |= htons(|
|0001ba40| 56 49 44 5f 50 4f 52 54 | 29 3b 0a 0a 20 20 20 20 |VID_PORT|);.. |
|0001ba50| 70 6b 74 2d 3e 73 65 71 | 4e 75 6d 20 3d 20 30 3b |pkt->seq|Num = 0;|
|0001ba60| 0a 20 20 20 20 70 6b 74 | 2d 3e 64 61 74 61 54 79 |. pkt|->dataTy|
|0001ba70| 70 65 20 3d 20 68 74 6f | 6e 73 28 74 79 70 65 29 |pe = hto|ns(type)|
|0001ba80| 3b 0a 20 20 20 20 70 6b | 74 2d 3e 6d 65 73 73 61 |;. pk|t->messa|
|0001ba90| 67 65 20 3d 20 30 3b 0a | 0a 20 20 20 20 6d 6c 65 |ge = 0;.|. mle|
|0001baa0| 6e 20 3d 20 73 74 72 6c | 65 6e 28 63 70 74 72 29 |n = strl|en(cptr)|
|0001bab0| 3b 0a 0a 20 20 20 20 66 | 6f 72 20 28 63 6e 74 20 |;.. f|or (cnt |
|0001bac0| 3d 20 30 3b 20 63 6e 74 | 20 3c 20 6d 6c 65 6e 3b |= 0; cnt| < mlen;|
|0001bad0| 20 63 6e 74 2b 2b 29 0a | 20 20 20 20 7b 0a 0a 20 | cnt++).| {.. |
|0001bae0| 20 20 20 20 20 20 69 66 | 20 28 2a 28 63 70 74 72 | if| (*(cptr|
|0001baf0| 2b 63 6e 74 29 20 3d 3d | 20 27 5c 6e 27 29 0a 20 |+cnt) ==| '\n'). |
|0001bb00| 20 20 20 20 20 20 20 20 | 20 2a 28 63 70 74 72 2b | | *(cptr+|
|0001bb10| 63 6e 74 29 20 3d 20 27 | 5c 72 27 3b 0a 20 20 20 |cnt) = '|\r';. |
|0001bb20| 20 7d 0a 0a 20 20 20 20 | 6c 65 6e 20 3d 20 73 69 | }.. |len = si|
|0001bb30| 7a 65 6f 66 28 56 69 64 | 65 6f 50 61 63 6b 65 74 |zeof(Vid|eoPacket|
|0001bb40| 48 65 61 64 65 72 29 20 | 2b 20 6d 6c 65 6e 20 2b |Header) |+ mlen +|
|0001bb50| 20 32 3b 0a 0a 20 20 20 | 20 70 6b 74 2d 3e 6c 65 | 2;.. | pkt->le|
|0001bb60| 6e 20 3d 20 68 74 6f 6e | 73 28 6c 65 6e 29 3b 0a |n = hton|s(len);.|
|0001bb70| 0a 20 20 20 20 74 6d 70 | 20 3d 20 28 63 68 61 72 |. tmp| = (char|
|0001bb80| 20 2a 29 20 28 70 6b 74 | 2b 31 29 3b 0a 0a 20 20 | *) (pkt|+1);.. |
|0001bb90| 20 20 69 66 20 28 74 79 | 70 65 20 3d 3d 20 6b 4d | if (ty|pe == kM|
|0001bba0| 65 73 73 61 67 65 54 79 | 70 65 31 29 0a 20 20 20 |essageTy|pe1). |
|0001bbb0| 20 7b 0a 20 20 20 20 20 | 20 20 6c 65 6e 2d 2d 3b | {. | len--;|
|0001bbc0| 0a 20 20 20 20 20 20 20 | 70 6b 74 2d 3e 6c 65 6e |. |pkt->len|
|0001bbd0| 20 3d 20 68 74 6f 6e 73 | 28 6c 65 6e 29 3b 0a 20 | = htons|(len);. |
|0001bbe0| 20 20 20 20 20 20 63 6c | 65 6e 20 3d 20 6d 6c 65 | cl|en = mle|
|0001bbf0| 6e 3b 0a 20 20 20 20 20 | 20 20 2a 74 6d 70 20 3d |n;. | *tmp =|
|0001bc00| 20 63 6c 65 6e 3b 0a 20 | 20 20 20 20 20 20 62 63 | clen;. | bc|
|0001bc10| 6f 70 79 28 63 70 74 72 | 2c 28 63 68 61 72 20 2a |opy(cptr|,(char *|
|0001bc20| 29 28 74 6d 70 2b 31 29 | 2c 6d 6c 65 6e 29 3b 0a |)(tmp+1)|,mlen);.|
|0001bc30| 20 20 20 20 7d 0a 20 20 | 20 20 65 6c 73 65 0a 20 | }. | else. |
|0001bc40| 20 20 20 7b 0a 20 20 20 | 20 20 20 20 62 63 6f 70 | {. | bcop|
|0001bc50| 79 28 26 6d 6c 65 6e 2c | 74 6d 70 2c 32 29 3b 0a |y(&mlen,|tmp,2);.|
|0001bc60| 20 20 20 20 20 20 20 62 | 63 6f 70 79 28 63 70 74 | b|copy(cpt|
|0001bc70| 72 2c 28 63 68 61 72 20 | 2a 29 28 74 6d 70 2b 32 |r,(char |*)(tmp+2|
|0001bc80| 29 2c 6d 6c 65 6e 29 3b | 0a 20 20 20 20 7d 0a 0a |),mlen);|. }..|
|0001bc90| 23 69 66 64 65 66 20 44 | 45 42 55 47 0a 20 20 20 |#ifdef D|EBUG. |
|0001bca0| 20 69 66 20 28 64 65 62 | 75 67 29 0a 20 20 20 20 | if (deb|ug). |
|0001bcb0| 20 20 20 70 72 69 6e 74 | 66 28 22 73 65 6e 64 69 | print|f("sendi|
|0001bcc0| 6e 67 20 72 65 66 6c 65 | 63 74 6f 72 20 6d 65 73 |ng refle|ctor mes|
|0001bcd0| 73 61 67 65 20 25 73 20 | 74 6f 20 63 6c 69 65 6e |sage %s |to clien|
|0001bce0| 74 20 61 74 20 25 73 5c | 6e 22 2c 63 70 74 72 2c |t at %s\|n",cptr,|
|0001bcf0| 69 6e 65 74 5f 6e 74 6f | 61 28 63 6c 6e 74 5f 61 |inet_nto|a(clnt_a|
|0001bd00| 64 64 72 2d 3e 73 69 6e | 5f 61 64 64 72 29 29 3b |ddr->sin|_addr));|
|0001bd10| 0a 23 65 6e 64 69 66 0a | 0a 20 20 20 20 69 66 20 |.#endif.|. if |
|0001bd20| 28 73 65 6e 64 74 6f 28 | 76 69 64 5f 73 6f 63 6b |(sendto(|vid_sock|
|0001bd30| 2c 62 75 66 2c 6c 65 6e | 2c 30 2c 63 6c 6e 74 5f |,buf,len|,0,clnt_|
|0001bd40| 61 64 64 72 2c 73 69 7a | 65 6f 66 28 73 74 72 75 |addr,siz|eof(stru|
|0001bd50| 63 74 20 73 6f 63 6b 61 | 64 64 72 5f 69 6e 29 29 |ct socka|ddr_in))|
|0001bd60| 20 21 3d 20 6c 65 6e 29 | 0a 20 20 20 20 7b 0a 20 | != len)|. {. |
|0001bd70| 20 20 20 20 20 20 64 6f | 6c 6f 67 28 22 73 65 6e | do|log("sen|
|0001bd80| 64 74 6f 20 65 72 72 6f | 72 20 6f 6e 20 6f 6c 64 |dto erro|r on old|
|0001bd90| 20 76 69 64 65 6f 20 73 | 6f 63 6b 65 74 22 29 3b | video s|ocket");|
|0001bda0| 0a 20 20 20 20 7d 0a 7d | 0a 0a 23 69 66 64 65 66 |. }.}|..#ifdef|
|0001bdb0| 20 4d 55 4c 54 49 0a 6e | 76 5f 6d 63 61 73 74 5f | MULTI.n|v_mcast_|
|0001bdc0| 77 72 74 28 76 69 64 70 | 74 72 2c 63 6c 74 70 74 |wrt(vidp|tr,cltpt|
|0001bdd0| 72 29 0a 20 20 20 20 56 | 69 64 65 6f 50 61 63 6b |r). V|ideoPack|
|0001bde0| 65 74 48 65 61 64 65 72 | 20 20 20 2a 76 69 64 70 |etHeader| *vidp|
|0001bdf0| 74 72 3b 0a 20 20 20 20 | 63 6c 69 65 6e 74 20 20 |tr;. |client |
|0001be00| 20 20 20 20 20 20 20 20 | 20 20 20 20 2a 63 6c 74 | | *clt|
|0001be10| 70 74 72 3b 0a 0a 7b 0a | 20 20 20 20 75 6e 73 69 |ptr;..{.| unsi|
|0001be20| 67 6e 65 64 20 63 68 61 | 72 20 2a 63 70 74 72 2c |gned cha|r *cptr,|
|0001be30| 2a 74 6d 70 3b 0a 20 20 | 20 20 75 6e 73 69 67 6e |*tmp;. | unsign|
|0001be40| 65 64 20 63 68 61 72 20 | 69 64 3b 0a 20 20 20 20 |ed char |id;. |
|0001be50| 75 6e 73 69 67 6e 65 64 | 20 73 68 6f 72 74 20 64 |unsigned| short d|
|0001be60| 61 74 61 74 79 70 65 3b | 0a 20 20 20 20 73 68 6f |atatype;|. sho|
|0001be70| 72 74 20 6c 65 6e 3b 0a | 0a 23 69 66 64 65 66 20 |rt len;.|.#ifdef |
|0001be80| 44 45 42 55 47 0a 20 20 | 20 20 20 20 20 69 66 20 |DEBUG. | if |
|0001be90| 28 64 65 62 75 67 29 0a | 20 20 20 20 20 20 20 20 |(debug).| |
|0001bea0| 20 20 70 72 69 6e 74 66 | 28 22 4d 75 6c 74 69 63 | printf|("Multic|
|0001beb0| 61 73 74 69 6e 67 20 28 | 66 6f 72 20 4e 56 29 20 |asting (|for NV) |
|0001bec0| 74 6f 20 25 73 5c 6e 22 | 2c 69 6e 65 74 5f 6e 74 |to %s\n"|,inet_nt|
|0001bed0| 6f 61 28 6e 76 5f 6d 63 | 61 73 74 2e 73 69 6e 5f |oa(nv_mc|ast.sin_|
|0001bee0| 61 64 64 72 29 29 3b 0a | 23 65 6e 64 69 66 0a 0a |addr));.|#endif..|
|0001bef0| 20 20 20 20 63 70 74 72 | 20 3d 20 28 28 75 6e 73 | cptr| = ((uns|
|0001bf00| 69 67 6e 65 64 20 63 68 | 61 72 20 2a 29 20 76 69 |igned ch|ar *) vi|
|0001bf10| 64 70 74 72 29 20 2b 20 | 28 48 45 41 44 45 52 4c |dptr) + |(HEADERL|
|0001bf20| 45 4e 2b 32 29 3b 0a 20 | 20 20 20 63 70 74 72 20 |EN+2);. | cptr |
|0001bf30| 2d 3d 20 4d 48 45 41 44 | 45 52 4c 45 4e 3b 0a 20 |-= MHEAD|ERLEN;. |
|0001bf40| 20 20 20 74 6d 70 20 3d | 20 63 70 74 72 3b 0a 0a | tmp =| cptr;..|
|0001bf50| 20 20 20 20 6c 65 6e 20 | 3d 20 6e 74 6f 68 73 28 | len |= ntohs(|
|0001bf60| 76 69 64 70 74 72 2d 3e | 6c 65 6e 29 20 2d 20 28 |vidptr->|len) - (|
|0001bf70| 48 45 41 44 45 52 4c 45 | 4e 2b 32 29 20 2b 20 4d |HEADERLE|N+2) + M|
|0001bf80| 48 45 41 44 45 52 4c 45 | 4e 3b 0a 20 20 20 20 64 |HEADERLE|N;. d|
|0001bf90| 61 74 61 74 79 70 65 20 | 3d 20 76 69 64 70 74 72 |atatype |= vidptr|
|0001bfa0| 2d 3e 64 61 74 61 54 79 | 70 65 3b 0a 0a 20 20 20 |->dataTy|pe;.. |
|0001bfb0| 20 69 64 20 3d 20 28 63 | 6c 74 70 74 72 2d 3e 63 | id = (c|ltptr->c|
|0001bfc0| 6c 6e 74 5f 69 64 20 25 | 20 33 32 29 20 2b 20 33 |lnt_id %| 32) + 3|
|0001bfd0| 32 3b 20 0a 0a 20 20 20 | 20 2a 74 6d 70 2b 2b 20 |2; .. | *tmp++ |
|0001bfe0| 3d 20 28 4e 56 56 45 52 | 53 49 4f 4e 20 7c 20 69 |= (NVVER|SION | i|
|0001bff0| 64 29 3b 0a 0a 20 20 20 | 20 2a 74 6d 70 20 3d 20 |d);.. | *tmp = |
|0001c000| 4e 56 43 4f 4e 54 45 4e | 54 3b 0a 0a 20 20 20 20 |NVCONTEN|T;.. |
|0001c010| 69 66 20 28 6e 74 6f 68 | 73 28 76 69 64 70 74 72 |if (ntoh|s(vidptr|
|0001c020| 2d 3e 6d 65 73 73 61 67 | 65 29 20 3d 3d 20 6b 46 |->messag|e) == kF|
|0001c030| 72 61 6d 65 45 6e 64 4d | 65 73 73 61 67 65 29 0a |rameEndM|essage).|
|0001c040| 20 20 20 20 20 20 20 2a | 74 6d 70 20 7c 3d 20 4e | *|tmp |= N|
|0001c050| 56 53 42 49 54 3b 0a 0a | 20 20 20 20 74 6d 70 2b |VSBIT;..| tmp+|
|0001c060| 2b 3b 0a 0a 20 20 20 20 | 62 7a 65 72 6f 28 74 6d |+;.. |bzero(tm|
|0001c070| 70 2c 36 29 3b 0a 20 20 | 20 20 74 6d 70 20 2b 3d |p,6);. | tmp +=|
|0001c080| 20 36 3b 0a 0a 20 20 20 | 20 62 63 6f 70 79 28 26 | 6;.. | bcopy(&|
|0001c090| 64 61 74 61 74 79 70 65 | 2c 74 6d 70 2c 32 29 3b |datatype|,tmp,2);|
|0001c0a0| 0a 0a 20 20 20 20 69 66 | 20 28 73 65 6e 64 74 6f |.. if| (sendto|
|0001c0b0| 28 6e 76 5f 6d 63 61 73 | 74 5f 73 6f 63 6b 2c 63 |(nv_mcas|t_sock,c|
|0001c0c0| 70 74 72 2c 6c 65 6e 2c | 30 2c 26 6e 76 5f 6d 63 |ptr,len,|0,&nv_mc|
|0001c0d0| 61 73 74 2c 73 69 7a 65 | 6f 66 28 73 74 72 75 63 |ast,size|of(struc|
|0001c0e0| 74 20 73 6f 63 6b 61 64 | 64 72 5f 69 6e 29 29 20 |t sockad|dr_in)) |
|0001c0f0| 21 3d 20 6c 65 6e 29 0a | 20 20 20 20 20 20 20 64 |!= len).| d|
|0001c100| 6f 6c 6f 67 28 22 6d 63 | 61 73 74 20 73 65 6e 64 |olog("mc|ast send|
|0001c110| 74 6f 20 65 72 72 6f 72 | 22 29 3b 0a 0a 7d 0a 0a |to error|");..}..|
|0001c120| 0a 72 66 5f 6d 63 61 73 | 74 5f 77 72 74 28 76 69 |.rf_mcas|t_wrt(vi|
|0001c130| 64 70 74 72 29 0a 20 20 | 20 20 56 69 64 65 6f 50 |dptr). | VideoP|
|0001c140| 61 63 6b 65 74 48 65 61 | 64 65 72 20 20 20 2a 76 |acketHea|der *v|
|0001c150| 69 64 70 74 72 3b 0a 0a | 7b 0a 23 69 66 64 65 66 |idptr;..|{.#ifdef|
|0001c160| 20 44 45 42 55 47 0a 20 | 20 20 20 20 20 20 69 66 | DEBUG. | if|
|0001c170| 20 28 64 65 62 75 67 29 | 0a 20 20 20 20 20 20 20 | (debug)|. |
|0001c180| 20 20 20 70 72 69 6e 74 | 66 28 22 4d 75 6c 74 69 | print|f("Multi|
|0001c190| 63 61 73 74 69 6e 67 20 | 28 66 6f 72 20 52 46 29 |casting |(for RF)|
|0001c1a0| 20 74 6f 20 25 73 5c 6e | 22 2c 69 6e 65 74 5f 6e | to %s\n|",inet_n|
|0001c1b0| 74 6f 61 28 72 66 6f 75 | 74 5f 6d 63 61 73 74 2e |toa(rfou|t_mcast.|
|0001c1c0| 73 69 6e 5f 61 64 64 72 | 29 29 3b 0a 23 65 6e 64 |sin_addr|));.#end|
|0001c1d0| 69 66 0a 0a 20 20 20 20 | 69 66 20 28 73 65 6e 64 |if.. |if (send|
|0001c1e0| 74 6f 28 72 66 6f 75 74 | 5f 6d 63 61 73 74 5f 73 |to(rfout|_mcast_s|
|0001c1f0| 6f 63 6b 2c 76 69 64 70 | 74 72 2c 6e 74 6f 68 73 |ock,vidp|tr,ntohs|
|0001c200| 28 76 69 64 70 74 72 2d | 3e 6c 65 6e 29 2c 30 2c |(vidptr-|>len),0,|
|0001c210| 26 72 66 6f 75 74 5f 6d | 63 61 73 74 2c 73 69 7a |&rfout_m|cast,siz|
|0001c220| 65 6f 66 28 73 74 72 75 | 63 74 20 73 6f 63 6b 61 |eof(stru|ct socka|
|0001c230| 64 64 72 5f 69 6e 29 29 | 20 21 3d 20 6e 74 6f 68 |ddr_in))| != ntoh|
|0001c240| 73 28 76 69 64 70 74 72 | 2d 3e 6c 65 6e 29 29 0a |s(vidptr|->len)).|
|0001c250| 20 20 20 20 20 20 20 64 | 6f 6c 6f 67 28 22 6d 63 | d|olog("mc|
|0001c260| 61 73 74 20 73 65 6e 64 | 74 6f 20 65 72 72 6f 72 |ast send|to error|
|0001c270| 22 29 3b 0a 0a 7d 0a 0a | 69 6e 6f 75 74 5f 6d 63 |");..}..|inout_mc|
|0001c280| 61 73 74 5f 77 72 74 28 | 76 69 64 70 74 72 29 0a |ast_wrt(|vidptr).|
|0001c290| 20 20 20 20 56 69 64 65 | 6f 50 61 63 6b 65 74 48 | Vide|oPacketH|
|0001c2a0| 65 61 64 65 72 20 20 20 | 2a 76 69 64 70 74 72 3b |eader |*vidptr;|
|0001c2b0| 0a 0a 7b 0a 23 69 66 64 | 65 66 20 44 45 42 55 47 |..{.#ifd|ef DEBUG|
|0001c2c0| 0a 20 20 20 20 20 20 20 | 69 66 20 28 64 65 62 75 |. |if (debu|
|0001c2d0| 67 29 0a 20 20 20 20 20 | 20 20 20 20 20 70 72 69 |g). | pri|
|0001c2e0| 6e 74 66 28 22 4d 75 6c | 74 69 63 61 73 74 69 6e |ntf("Mul|ticastin|
|0001c2f0| 67 20 28 74 6f 20 67 72 | 6f 75 70 29 20 74 6f 20 |g (to gr|oup) to |
|0001c300| 25 73 5c 6e 22 2c 69 6e | 65 74 5f 6e 74 6f 61 28 |%s\n",in|et_ntoa(|
|0001c310| 69 6e 6f 75 74 5f 6d 63 | 61 73 74 2e 73 69 6e 5f |inout_mc|ast.sin_|
|0001c320| 61 64 64 72 29 29 3b 0a | 23 65 6e 64 69 66 0a 0a |addr));.|#endif..|
|0001c330| 20 20 20 20 69 66 20 28 | 73 65 6e 64 74 6f 28 69 | if (|sendto(i|
|0001c340| 6e 6f 75 74 5f 6d 63 61 | 73 74 5f 73 6f 63 6b 2c |nout_mca|st_sock,|
|0001c350| 76 69 64 70 74 72 2c 6e | 74 6f 68 73 28 76 69 64 |vidptr,n|tohs(vid|
|0001c360| 70 74 72 2d 3e 6c 65 6e | 29 2c 30 2c 26 69 6e 6f |ptr->len|),0,&ino|
|0001c370| 75 74 5f 6d 63 61 73 74 | 2c 73 69 7a 65 6f 66 28 |ut_mcast|,sizeof(|
|0001c380| 73 74 72 75 63 74 20 73 | 6f 63 6b 61 64 64 72 5f |struct s|ockaddr_|
|0001c390| 69 6e 29 29 20 21 3d 20 | 6e 74 6f 68 73 28 76 69 |in)) != |ntohs(vi|
|0001c3a0| 64 70 74 72 2d 3e 6c 65 | 6e 29 29 0a 20 20 20 20 |dptr->le|n)). |
|0001c3b0| 20 20 20 64 6f 6c 6f 67 | 28 22 6d 63 61 73 74 20 | dolog|("mcast |
|0001c3c0| 73 65 6e 64 74 6f 20 65 | 72 72 6f 72 22 29 3b 0a |sendto e|rror");.|
|0001c3d0| 0a 7d 0a 0a 0a 6d 63 61 | 73 74 5f 6b 65 65 70 5f |.}...mca|st_keep_|
|0001c3e0| 61 6c 69 76 65 28 63 6c | 74 70 74 72 29 0a 20 20 |alive(cl|tptr). |
|0001c3f0| 20 20 63 6c 69 65 6e 74 | 20 20 20 20 20 20 20 20 | client| |
|0001c400| 20 20 20 20 20 20 2a 63 | 6c 74 70 74 72 3b 0a 7b | *c|ltptr;.{|
|0001c410| 0a 0a 20 20 20 20 75 6e | 73 69 67 6e 65 64 20 63 |.. un|signed c|
|0001c420| 68 61 72 20 62 75 66 5b | 31 30 30 5d 3b 0a 20 20 |har buf[|100];. |
|0001c430| 20 20 75 6e 73 69 67 6e | 65 64 20 63 68 61 72 20 | unsign|ed char |
|0001c440| 2a 63 70 74 72 3b 0a 20 | 20 20 20 75 6e 73 69 67 |*cptr;. | unsig|
|0001c450| 6e 65 64 20 63 68 61 72 | 20 69 64 3b 0a 20 20 20 |ned char| id;. |
|0001c460| 20 75 6e 73 69 67 6e 65 | 64 20 63 68 61 72 20 6c | unsigne|d char l|
|0001c470| 65 6e 2c 62 6c 65 6e 3b | 0a 0a 23 69 66 64 65 66 |en,blen;|..#ifdef|
|0001c480| 20 44 45 42 55 47 0a 20 | 20 20 20 20 20 20 69 66 | DEBUG. | if|
|0001c490| 20 28 64 65 62 75 67 29 | 0a 20 20 20 20 20 20 20 | (debug)|. |
|0001c4a0| 20 20 20 70 72 69 6e 74 | 66 28 22 4d 75 6c 74 69 | print|f("Multi|
|0001c4b0| 63 61 73 74 69 6e 67 20 | 6b 65 65 70 20 61 6c 69 |casting |keep ali|
|0001c4c0| 76 65 20 74 6f 20 25 73 | 20 66 6f 72 20 63 6c 69 |ve to %s| for cli|
|0001c4d0| 65 6e 74 20 25 73 5c 6e | 22 2c 0a 09 09 20 20 69 |ent %s\n|",... i|
|0001c4e0| 6e 65 74 5f 6e 74 6f 61 | 28 6e 76 5f 6d 63 61 73 |net_ntoa|(nv_mcas|
|0001c4f0| 74 2e 73 69 6e 5f 61 64 | 64 72 29 2c 63 6c 74 70 |t.sin_ad|dr),cltp|
|0001c500| 74 72 2d 3e 63 6c 6e 74 | 5f 63 6f 6e 66 69 67 2e |tr->clnt|_config.|
|0001c510| 6e 61 6d 65 29 3b 0a 23 | 65 6e 64 69 66 0a 0a 20 |name);.#|endif.. |
|0001c520| 20 20 20 6c 65 6e 20 3d | 20 73 74 72 6c 65 6e 28 | len =| strlen(|
|0001c530| 63 6c 74 70 74 72 2d 3e | 63 6c 6e 74 5f 63 6f 6e |cltptr->|clnt_con|
|0001c540| 66 69 67 2e 6e 61 6d 65 | 29 20 2b 20 38 3b 0a 0a |fig.name|) + 8;..|
|0001c550| 20 20 20 20 62 6c 65 6e | 20 3d 20 6c 65 6e 2f 34 | blen| = len/4|
|0001c560| 3b 0a 0a 20 20 20 20 69 | 66 20 28 62 6c 65 6e 20 |;.. i|f (blen |
|0001c570| 21 3d 20 28 6c 65 6e 20 | 2a 20 34 29 29 0a 20 20 |!= (len |* 4)). |
|0001c580| 20 20 20 20 20 62 6c 65 | 6e 2b 2b 3b 0a 0a 20 20 | ble|n++;.. |
|0001c590| 20 20 63 70 74 72 20 3d | 20 62 75 66 3b 0a 0a 20 | cptr =| buf;.. |
|0001c5a0| 20 20 20 69 64 20 3d 20 | 28 63 6c 74 70 74 72 2d | id = |(cltptr-|
|0001c5b0| 3e 63 6c 6e 74 5f 69 64 | 20 25 20 33 32 29 20 2b |>clnt_id| % 32) +|
|0001c5c0| 20 33 32 3b 20 0a 0a 20 | 20 20 20 2a 63 70 74 72 | 32; .. | *cptr|
|0001c5d0| 2b 2b 20 3d 20 28 4e 56 | 56 45 52 53 49 4f 4e 20 |++ = (NV|VERSION |
|0001c5e0| 7c 20 69 64 29 3b 0a 20 | 20 20 20 2a 63 70 74 72 || id);. | *cptr|
|0001c5f0| 2b 2b 20 3d 20 4e 56 43 | 4f 4e 54 45 4e 54 20 7c |++ = NVC|ONTENT ||
|0001c600| 20 4e 56 4f 42 49 54 3b | 0a 0a 20 20 20 20 62 7a | NVOBIT;|.. bz|
|0001c610| 65 72 6f 28 63 70 74 72 | 2c 36 29 3b 0a 20 20 20 |ero(cptr|,6);. |
|0001c620| 20 63 70 74 72 20 2b 3d | 20 36 3b 0a 0a 20 20 20 | cptr +=| 6;.. |
|0001c630| 20 2a 63 70 74 72 2b 2b | 20 3d 20 46 49 4e 41 4c | *cptr++| = FINAL|
|0001c640| 20 7c 20 53 44 45 53 43 | 3b 0a 20 20 20 20 2a 63 | | SDESC|;. *c|
|0001c650| 70 74 72 2b 2b 20 3d 20 | 62 6c 65 6e 3b 0a 0a 20 |ptr++ = |blen;.. |
|0001c660| 20 20 20 62 63 6f 70 79 | 28 26 63 6c 74 70 74 72 | bcopy|(&cltptr|
|0001c670| 2d 3e 63 6c 6e 74 5f 61 | 64 64 72 2e 70 6f 72 74 |->clnt_a|ddr.port|
|0001c680| 2c 63 70 74 72 2c 32 29 | 3b 0a 20 20 20 20 63 70 |,cptr,2)|;. cp|
|0001c690| 74 72 20 2b 3d 20 32 3b | 0a 0a 20 20 20 20 62 63 |tr += 2;|.. bc|
|0001c6a0| 6f 70 79 28 26 63 6c 74 | 70 74 72 2d 3e 63 6c 6e |opy(&clt|ptr->cln|
|0001c6b0| 74 5f 61 64 64 72 2e 61 | 64 64 72 2c 63 70 74 72 |t_addr.a|ddr,cptr|
|0001c6c0| 2c 34 29 3b 0a 20 20 20 | 20 63 70 74 72 20 2b 3d |,4);. | cptr +=|
|0001c6d0| 20 34 3b 0a 0a 20 20 20 | 20 73 74 72 63 70 79 28 | 4;.. | strcpy(|
|0001c6e0| 63 70 74 72 2c 63 6c 74 | 70 74 72 2d 3e 63 6c 6e |cptr,clt|ptr->cln|
|0001c6f0| 74 5f 63 6f 6e 66 69 67 | 2e 6e 61 6d 65 29 3b 0a |t_config|.name);.|
|0001c700| 20 20 20 20 0a 20 20 20 | 20 63 70 74 72 20 2b 3d | . | cptr +=|
|0001c710| 20 73 74 72 6c 65 6e 28 | 63 6c 74 70 74 72 2d 3e | strlen(|cltptr->|
|0001c720| 63 6c 6e 74 5f 63 6f 6e | 66 69 67 2e 6e 61 6d 65 |clnt_con|fig.name|
|0001c730| 29 3b 0a 0a 20 20 20 20 | 62 7a 65 72 6f 28 63 70 |);.. |bzero(cp|
|0001c740| 74 72 2c 34 29 3b 0a 20 | 20 20 20 63 70 74 72 20 |tr,4);. | cptr |
|0001c750| 2b 3d 20 34 3b 0a 0a 20 | 20 20 20 6c 65 6e 20 3d |+= 4;.. | len =|
|0001c760| 20 28 62 6c 65 6e 20 2a | 20 34 29 20 2b 20 38 3b | (blen *| 4) + 8;|
|0001c770| 0a 0a 20 20 20 20 69 66 | 20 28 73 65 6e 64 74 6f |.. if| (sendto|
|0001c780| 28 6e 76 5f 6d 63 61 73 | 74 5f 73 6f 63 6b 2c 62 |(nv_mcas|t_sock,b|
|0001c790| 75 66 2c 6c 65 6e 2c 30 | 2c 26 6e 76 5f 6d 63 61 |uf,len,0|,&nv_mca|
|0001c7a0| 73 74 2c 73 69 7a 65 6f | 66 28 73 74 72 75 63 74 |st,sizeo|f(struct|
|0001c7b0| 20 73 6f 63 6b 61 64 64 | 72 5f 69 6e 29 29 20 21 | sockadd|r_in)) !|
|0001c7c0| 3d 20 6c 65 6e 29 0a 20 | 20 20 20 20 20 20 64 6f |= len). | do|
|0001c7d0| 6c 6f 67 28 22 6d 75 6c | 74 69 63 61 73 74 20 6b |log("mul|ticast k|
|0001c7e0| 65 65 70 20 61 6c 69 76 | 65 20 73 65 6e 64 74 6f |eep aliv|e sendto|
|0001c7f0| 20 65 72 72 6f 72 22 29 | 3b 0a 7d 0a 23 65 6e 64 | error")|;.}.#end|
|0001c800| 69 66 0a 66 20 74 68 65 | 20 73 65 72 76 65 72 20 |if.f the| server |
|0001c810| 69 73 20 61 6c 72 65 61 | 64 79 20 69 6e 20 6f 75 |is alrea|dy in ou|
|0001c820| 72 20 63 6c 69 65 6e 74 | 20 6c 69 73 74 2e 20 75 |r client| list. u|
|0001c830| 73 65 20 69 74 73 20 61 | 63 74 75 61 6c 20 63 6c |se its a|ctual cl|
|0001c840| 69 65 6e 74 0a 09 20 20 | 70 74 72 2c 20 65 6c 73 |ient.. |ptr, els|
|0001c850| 65 20 6a 75 73 74 20 75 | 73 20 61 20 74 65 6d 70 |e just u|s a temp|
|0001c860| 6f 72 61 72 79 20 6f 6e | 65 20 66 6f 72 20 6e 6f |orary on|e for no|
|0001c870| 77 0a 20 20 20 20 20 20 | 20 2a 2f 0a 0a 20 20 20 |w. | */.. |
|0001c880| 20 20 20 20 69 66 20 28 | 28 63 74 6d 70 20 3d 20 | if (|(ctmp = |
|0001c890| 66 69 6e 64 5f 63 6c 69 | 65 6e 74 28 72 65 66 5f |find_cli|ent(ref_|
|0001c8a0| 75 63 61 73 74 5f 6c 69 | 73 74 5b 63 6e 74 5d 29 |ucast_li|st[cnt])|
|0001c8b0| 29 20 3d 3d 20 4e 55 4c | 4c 29 0a 20 20 20 20 20 |) == NUL|L). |
|0001c8c0| 20 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 62 63 | {. | bc|
|0001c8d0| 6f 70 79 28 26 72 65 66 | 5f 75 63 61 73 74 5f 6c |opy(&ref|_ucast_l|
|0001c8e0| 69 73 74 5b 63 6e 74 5d | 2c 26 63 74 6d 70 31 2e |ist[cnt]|,&ctmp1.|
|0001c8f0| 63 6c 6e 74 5f 61 64 64 | 72 2e 61 64 64 72 2c 34 |clnt_add|r.addr,4|
|0001c900| 29 3b 0a 09 20 20 63 74 | 6d 70 31 2e 63 6c 6e 74 |);.. ct|mp1.clnt|
|0001c910| 5f 61 64 64 72 2e 66 61 | 6d 69 6c 79 20 3d 20 41 |_addr.fa|mily = A|
|0001c920| 46 5f 49 4e 45 54 3b 0a | 09 20 20 63 74 6d 70 31 |F_INET;.|. ctmp1|
|0001c930| 2e 63 6c 6e 74 5f 61 64 | 64 72 2e 70 6f 72 74 20 |.clnt_ad|dr.port |
|0001c940| 3d 20 68 74 6f 6e 73 28 | 56 49 44 5f 50 4f 52 54 |= htons(|VID_PORT|
|0001c950| 29 3b 0a 09 20 20 63 74 | 6d 70 31 2e 63 6c 6e 74 |);.. ct|mp1.clnt|
|0001c960| 5f 66 6c 61 67 73 20 3d | 20 52 45 46 33 5f 53 45 |_flags =| REF3_SE|
|0001c970| 52 56 45 52 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |RVER;. | |
|0001c980| 77 72 69 74 65 5f 70 6b | 74 28 26 70 6b 74 2c 26 |write_pk|t(&pkt,&|
|0001c990| 63 74 6d 70 31 29 3b 0a | 20 20 20 20 20 20 20 7d |ctmp1);.| }|
|0001c9a0| 0a 20 20 20 20 20 20 20 | 65 6c 73 65 0a 20 20 20 |. |else. |
|0001c9b0| 20 20 20 20 20 20 20 77 | 72 69 74 65 5f 70 6b 74 | w|rite_pkt|
|0001c9c0| 28 26 70 6b 74 2c 63 74 | 6d 70 29 3b 0a 20 20 20 |(&pkt,ct|mp);. |
|0001c9d0| 20 7d 0a 7d 0a 0a 77 72 | 69 74 65 5f 6d 73 67 28 | }.}..wr|ite_msg(|
|0001c9e0| 63 6c 6e 74 5f 61 64 64 | 72 2c 74 79 70 65 2c 63 |clnt_add|r,type,c|
|0001c9f0| 70 74 72 29 0a 20 20 20 | 20 73 74 72 75 63 74 20 |ptr). | struct |
|0001ca00| 32 2e 33 30 62 31 2f 43 | 48 41 4e 47 45 53 00 00 |2.30b1/C|HANGES..|
|0001ca10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001ca20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001ca30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001ca40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001ca50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001ca60| 00 00 00 00 31 30 30 36 | 34 34 20 00 30 30 30 30 |....1006|44 .0000|
|0001ca70| 30 36 20 00 30 30 30 30 | 30 30 20 00 30 30 30 30 |06 .0000|00 .0000|
|0001ca80| 30 30 30 31 36 32 37 20 | 30 35 36 31 31 35 33 31 |0001627 |05611531|
|0001ca90| 37 34 33 20 30 31 33 32 | 31 34 00 20 30 00 00 00 |743 0132|14. 0...|
|0001caa0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001cab0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001cac0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001cad0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001cae0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001caf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001cb00| 00 75 73 74 61 72 00 30 | 30 6c 79 6e 6e 00 00 00 |.ustar.0|0lynn...|
|0001cb10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001cb20| 00 00 00 00 00 00 00 00 | 00 73 79 73 74 65 6d 00 |........|.system.|
|0001cb30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001cb40| 00 00 00 00 00 00 00 00 | 00 30 30 30 30 30 30 20 |........|.000000 |
|0001cb50| 00 30 30 30 30 30 30 20 | 00 00 00 00 00 00 00 00 |.000000 |........|
|0001cb60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001cb70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001cb80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001cb90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001cba0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001cbb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001cbc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001cbd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001cbe0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001cbf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001cc00| 36 2f 32 30 0a 6d 6f 64 | 69 66 79 20 22 52 65 66 |6/20.mod|ify "Ref|
|0001cc10| 6c 65 63 74 6f 72 20 63 | 6f 6e 66 69 67 75 72 61 |lector c|onfigura|
|0001cc20| 74 69 6f 6e 20 6d 69 73 | 2d 6d 61 74 63 68 22 20 |tion mis|-match" |
|0001cc30| 6d 65 73 73 61 67 65 20 | 74 6f 20 69 6e 63 6c 75 |message |to inclu|
|0001cc40| 64 65 20 74 68 65 0a 49 | 50 20 61 64 64 72 65 73 |de the.I|P addres|
|0001cc50| 73 20 6f 66 20 74 68 65 | 20 6f 74 68 65 72 20 72 |s of the| other r|
|0001cc60| 65 66 6c 65 63 74 6f 72 | 0a 0a 36 2f 32 30 0a 61 |eflector|..6/20.a|
|0001cc70| 64 64 20 73 75 70 70 6f | 72 74 20 66 6f 72 20 6c |dd suppo|rt for l|
|0001cc80| 69 74 74 6c 65 20 65 6e | 64 69 61 6e 20 73 79 73 |ittle en|dian sys|
|0001cc90| 74 65 6d 73 0a 0a 36 2f | 32 32 0a 66 69 78 65 64 |tems..6/|22.fixed|
|0001cca0| 20 61 20 62 75 67 20 74 | 68 61 74 20 63 61 75 73 | a bug t|hat caus|
|0001ccb0| 65 64 20 74 68 65 20 72 | 65 66 6c 65 63 74 6f 72 |ed the r|eflector|
|0001ccc0| 20 4d 4f 54 44 20 74 6f | 20 62 65 20 6c 69 6d 69 | MOTD to| be limi|
|0001ccd0| 74 65 64 20 74 6f 20 34 | 30 30 0a 63 68 61 72 61 |ted to 4|00.chara|
|0001cce0| 63 74 65 72 73 20 72 61 | 74 68 65 72 20 74 68 65 |cters ra|ther the|
|0001ccf0| 6e 20 38 30 30 2e 0a 0a | 63 68 61 6e 67 65 20 64 |n 800...|change d|
|0001cd00| 65 66 61 75 6c 74 20 6d | 61 78 69 6d 75 6d 20 6e |efault m|aximum n|
|0001cd10| 75 6d 62 65 72 20 6f 66 | 20 70 61 72 74 69 63 69 |umber of| partici|
|0001cd20| 70 61 6e 74 73 20 66 72 | 6f 6d 20 36 30 20 74 6f |pants fr|om 60 to|
|0001cd30| 20 34 30 0a 0a 66 69 78 | 65 64 20 61 20 62 75 67 | 40..fix|ed a bug|
|0001cd40| 20 74 68 61 74 20 63 61 | 75 73 65 64 20 74 68 65 | that ca|used the|
|0001cd50| 20 6d 61 78 2d 70 61 72 | 74 69 63 69 70 61 6e 74 | max-par|ticipant|
|0001cd60| 73 20 76 61 6c 75 65 20 | 6e 6f 74 20 74 6f 20 62 |s value |not to b|
|0001cd70| 65 0a 70 72 69 6e 74 65 | 64 20 6f 75 74 20 77 69 |e.printe|d out wi|
|0001cd80| 74 68 20 74 68 65 20 72 | 65 66 6d 6f 6e 20 70 61 |th the r|efmon pa|
|0001cd90| 72 61 6d 20 71 75 65 72 | 79 0a 0a 36 2f 32 32 20 |ram quer|y..6/22 |
|0001cda0| 0a 66 69 78 20 61 20 62 | 75 67 20 74 68 61 74 20 |.fix a b|ug that |
|0001cdb0| 63 61 75 73 65 20 74 68 | 65 20 6d 69 6e 2d 76 65 |cause th|e min-ve|
|0001cdc0| 72 73 69 6f 6e 20 76 61 | 6c 75 65 20 6e 6f 74 20 |rsion va|lue not |
|0001cdd0| 74 6f 20 62 65 0a 70 72 | 69 6e 74 65 64 20 6f 75 |to be.pr|inted ou|
|0001cde0| 74 20 77 69 74 68 20 74 | 68 65 20 72 65 66 6d 6f |t with t|he refmo|
|0001cdf0| 6e 20 70 61 72 61 6d 20 | 71 75 65 72 79 0a 0a 66 |n param |query..f|
|0001ce00| 69 78 20 61 20 62 75 67 | 20 69 6e 20 74 68 65 20 |ix a bug| in the |
|0001ce10| 6d 69 6e 2d 76 65 72 73 | 69 6f 6e 20 70 72 6f 63 |min-vers|ion proc|
|0001ce20| 65 73 73 69 6e 67 0a 0a | 36 2f 32 34 0a 66 69 78 |essing..|6/24.fix|
|0001ce30| 65 64 20 61 20 62 75 67 | 20 74 68 61 74 20 63 61 |ed a bug| that ca|
|0001ce40| 75 73 65 64 20 63 72 61 | 73 68 69 6e 67 20 77 68 |used cra|shing wh|
|0001ce50| 65 6e 20 75 73 69 6e 67 | 20 74 68 65 0a 6f 62 74 |en using| the.obt|
|0001ce60| 61 69 6e 2d 62 63 63 20 | 63 6f 6e 66 69 67 75 72 |ain-bcc |configur|
|0001ce70| 61 74 69 6f 6e 20 6c 69 | 6e 65 0a 0a 36 2f 32 39 |ation li|ne..6/29|
|0001ce80| 0a 61 64 64 20 6d 65 73 | 73 61 67 65 20 73 74 72 |.add mes|sage str|
|0001ce90| 69 6e 67 20 74 6f 20 6d | 61 78 2d 70 61 72 74 69 |ing to m|ax-parti|
|0001cea0| 63 69 70 61 6e 74 73 0a | 0a 61 64 64 20 6d 65 73 |cipants.|.add mes|
|0001ceb0| 73 61 67 65 20 73 74 72 | 69 6e 67 20 74 6f 20 63 |sage str|ing to c|
|0001cec0| 6f 6e 66 2d 69 64 0a 0a | 61 64 64 20 6d 65 73 73 |onf-id..|add mess|
|0001ced0| 61 67 65 20 73 74 72 69 | 6e 67 20 74 6f 20 61 64 |age stri|ng to ad|
|0001cee0| 6d 69 74 0a 0a 61 64 64 | 20 6d 65 73 73 61 67 65 |mit..add| message|
|0001cef0| 20 74 6f 20 6d 69 6e 2d | 76 65 72 73 69 6f 6e 0a | to min-|version.|
|0001cf00| 0a 61 64 64 20 6d 65 73 | 73 61 67 65 20 74 6f 20 |.add mes|sage to |
|0001cf10| 64 65 6e 79 0a 0a 37 2f | 35 0a 61 64 64 20 63 6f |deny..7/|5.add co|
|0001cf20| 6e 66 2d 6d 67 72 20 63 | 6f 6e 66 69 67 75 72 61 |nf-mgr c|onfigura|
|0001cf30| 74 69 6f 6e 20 70 61 72 | 61 6d 65 74 65 72 0a 0a |tion par|ameter..|
|0001cf40| 37 2f 31 32 0a 63 68 61 | 6e 67 65 20 6d 69 6e 2d |7/12.cha|nge min-|
|0001cf50| 76 65 72 73 69 6f 6e 20 | 74 6f 20 6d 69 6e 2d 6d |version |to min-m|
|0001cf60| 61 63 2d 76 65 72 73 69 | 6f 6e 0a 0a 61 64 64 20 |ac-versi|on..add |
|0001cf70| 6d 69 6e 2d 70 63 2d 76 | 65 72 73 69 6f 6e 0a 0a |min-pc-v|ersion..|
|0001cf80| 75 70 64 61 74 65 20 74 | 68 65 20 52 45 41 44 4d |update t|he READM|
|0001cf90| 45 20 66 69 6c 65 0a 79 | 70 65 20 3d 3d 20 6b 4d |E file.y|pe == kM|
|0001cfa0| 65 73 73 61 67 65 54 79 | 70 65 31 29 0a 20 20 20 |essageTy|pe1). |
|0001cfb0| 20 7b 0a 20 20 20 20 20 | 20 20 6c 65 6e 2d 2d 3b | {. | len--;|
|0001cfc0| 0a 20 20 20 20 20 20 20 | 70 6b 74 2d 3e 6c 65 6e |. |pkt->len|
|0001cfd0| 20 3d 20 68 74 6f 6e 73 | 28 6c 65 6e 29 3b 0a 20 | = htons|(len);. |
|0001cfe0| 20 20 20 20 20 20 63 6c | 65 6e 20 3d 20 6d 6c 65 | cl|en = mle|
|0001cff0| 6e 3b 0a 20 20 20 20 20 | 20 20 2a 74 6d 70 20 3d |n;. | *tmp =|
|0001d000| 32 2e 33 30 62 31 2f 6c | 6f 61 64 2e 63 00 00 00 |2.30b1/l|oad.c...|
|0001d010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d040| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d050| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d060| 00 00 00 00 31 30 30 36 | 34 34 20 00 30 30 30 30 |....1006|44 .0000|
|0001d070| 30 36 20 00 30 30 30 30 | 30 30 20 00 30 30 30 30 |06 .0000|00 .0000|
|0001d080| 30 30 34 37 34 32 32 20 | 30 35 36 31 31 35 33 31 |0047422 |05611531|
|0001d090| 36 34 35 20 30 31 33 33 | 31 30 00 20 30 00 00 00 |645 0133|10. 0...|
|0001d0a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d0b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d0c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d0d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d0e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d0f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d100| 00 75 73 74 61 72 00 30 | 30 6c 79 6e 6e 00 00 00 |.ustar.0|0lynn...|
|0001d110| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d120| 00 00 00 00 00 00 00 00 | 00 73 79 73 74 65 6d 00 |........|.system.|
|0001d130| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d140| 00 00 00 00 00 00 00 00 | 00 30 30 30 30 30 30 20 |........|.000000 |
|0001d150| 00 30 30 30 30 30 30 20 | 00 00 00 00 00 00 00 00 |.000000 |........|
|0001d160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d170| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d180| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d190| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d1a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d1b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d1c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d1d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d1e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d1f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|0001d200| 2f 2a 0a 0a 43 6f 70 79 | 72 69 67 68 74 20 31 39 |/*..Copy|right 19|
|0001d210| 39 33 2c 20 31 39 39 34 | 2c 20 43 6f 72 6e 65 6c |93, 1994|, Cornel|
|0001d220| 6c 20 55 6e 69 76 65 72 | 73 69 74 79 0a 0a 43 6f |l Univer|sity..Co|
|0001d230| 72 6e 65 6c 6c 20 68 65 | 72 65 62 79 20 67 72 61 |rnell he|reby gra|
|0001d240| 6e 74 73 20 70 65 72 6d | 69 73 73 69 6f 6e 20 74 |nts perm|ission t|
|0001d250| 6f 20 75 73 65 2c 20 63 | 6f 70 79 2c 20 6d 6f 64 |o use, c|opy, mod|
|0001d260| 69 66 79 2c 20 61 6e 64 | 20 64 69 73 74 72 69 62 |ify, and| distrib|
|0001d270| 75 74 65 20 74 68 69 73 | 20 70 72 6f 67 72 61 6d |ute this| program|
|0001d280| 20 66 6f 72 20 61 6e 79 | 20 70 75 72 70 6f 73 65 | for any| purpose|
|0001d290| 20 0a 61 6e 64 20 77 69 | 74 68 6f 75 74 20 66 65 | .and wi|thout fe|
|0001d2a0| 65 2c 20 70 72 6f 76 69 | 64 65 64 20 74 68 61 74 |e, provi|ded that|
|0001d2b0| 20 74 68 65 73 65 20 63 | 6f 70 79 72 69 67 68 74 | these c|opyright|
|0001d2c0| 20 61 6e 64 20 70 65 72 | 6d 69 73 73 69 6f 6e 20 | and per|mission |
|0001d2d0| 6e 6f 74 69 63 65 73 20 | 61 70 70 65 61 72 20 6f |notices |appear o|
|0001d2e0| 6e 20 61 6c 6c 20 63 6f | 70 69 65 73 20 61 6e 64 |n all co|pies and|
|0001d2f0| 20 0a 73 75 70 70 6f 72 | 74 69 6e 67 20 64 6f 63 | .suppor|ting doc|
|0001d300| 75 6d 65 6e 74 61 74 69 | 6f 6e 2c 20 74 68 65 20 |umentati|on, the |
|0001d310| 6e 61 6d 65 20 6f 66 20 | 43 6f 72 6e 65 6c 6c 20 |name of |Cornell |
|0001d320| 6e 6f 74 20 62 65 20 75 | 73 65 64 20 69 6e 20 61 |not be u|sed in a|
|0001d330| 64 76 65 72 74 69 73 69 | 6e 67 20 6f 72 20 70 75 |dvertisi|ng or pu|
|0001d340| 62 6c 69 63 69 74 79 20 | 70 65 72 74 61 69 6e 69 |blicity |pertaini|
|0001d350| 6e 67 20 0a 74 6f 20 64 | 69 73 74 72 69 62 75 74 |ng .to d|istribut|
|0001d360| 69 6f 6e 20 6f 66 20 74 | 68 65 20 70 72 6f 67 72 |ion of t|he progr|
|0001d370| 61 6d 20 77 69 74 68 6f | 75 74 20 73 70 65 63 69 |am witho|ut speci|
|0001d380| 66 69 63 20 70 72 69 6f | 72 20 70 65 72 6d 69 73 |fic prio|r permis|
|0001d390| 73 69 6f 6e 2c 20 6e 6f | 74 69 63 65 20 62 65 20 |sion, no|tice be |
|0001d3a0| 67 69 76 65 6e 20 69 6e | 20 73 75 70 70 6f 72 74 |given in| support|
|0001d3b0| 69 6e 67 20 0a 64 6f 63 | 75 6d 65 6e 74 61 74 69 |ing .doc|umentati|
|0001d3c0| 6f 6e 20 74 68 61 74 20 | 63 6f 70 79 69 6e 67 20 |on that |copying |
|0001d3d0| 61 6e 64 20 64 69 73 74 | 72 69 62 75 74 69 6f 6e |and dist|ribution|
|0001d3e0| 20 69 73 20 62 79 20 70 | 65 72 6d 69 73 73 69 6f | is by p|ermissio|
|0001d3f0| 6e 20 6f 66 20 43 6f 72 | 6e 65 6c 6c 2e 20 20 43 |n of Cor|nell. C|
|0001d400| 4f 52 4e 45 4c 4c 20 4d | 41 4b 45 53 20 4e 4f 20 |ORNELL M|AKES NO |
|0001d410| 0a 52 45 50 52 45 53 45 | 4e 54 41 54 49 4f 4e 53 |.REPRESE|NTATIONS|
|0001d420| 20 4f 52 20 57 41 52 52 | 41 4e 54 45 45 53 2c 20 | OR WARR|ANTEES, |
|0001d430| 45 58 50 52 45 53 53 20 | 4f 52 20 49 4d 50 4c 49 |EXPRESS |OR IMPLI|
|0001d440| 45 44 2e 20 20 42 79 20 | 77 61 79 20 6f 66 20 65 |ED. By |way of e|
|0001d450| 78 61 6d 70 6c 65 2c 20 | 62 75 74 20 6e 6f 74 20 |xample, |but not |
|0001d460| 6c 69 6d 69 74 61 74 69 | 6f 6e 2c 20 0a 43 4f 52 |limitati|on, .COR|
|0001d470| 4e 45 4c 4c 20 4d 41 4b | 45 53 20 4e 4f 20 52 45 |NELL MAK|ES NO RE|
|0001d480| 50 52 45 53 45 4e 54 41 | 54 49 4f 4e 53 20 4f 52 |PRESENTA|TIONS OR|
|0001d490| 20 57 41 52 52 41 4e 54 | 49 45 53 20 4f 46 20 4d | WARRANT|IES OF M|
|0001d4a0| 45 52 43 48 41 4e 54 41 | 42 49 4c 49 54 59 20 4f |ERCHANTA|BILITY O|
|0001d4b0| 52 20 46 49 54 4e 45 53 | 53 20 46 4f 52 20 41 4e |R FITNES|S FOR AN|
|0001d4c0| 59 20 50 41 52 54 49 43 | 55 4c 41 52 20 0a 50 55 |Y PARTIC|ULAR .PU|
|0001d4d0| 52 50 4f 53 45 20 4f 52 | 20 54 48 41 54 20 54 48 |RPOSE OR| THAT TH|
|0001d4e0| 45 20 55 53 45 20 4f 46 | 20 54 48 49 53 20 53 4f |E USE OF| THIS SO|
|0001d4f0| 46 54 57 41 52 45 20 4f | 52 20 44 4f 43 55 4d 45 |FTWARE O|R DOCUME|
|0001d500| 4e 54 41 54 49 4f 4e 20 | 57 49 4c 4c 20 4e 4f 54 |NTATION |WILL NOT|
|0001d510| 20 49 4e 46 52 49 4e 47 | 45 20 41 4e 59 20 50 41 | INFRING|E ANY PA|
|0001d520| 54 45 4e 54 53 2c 20 43 | 4f 50 59 52 49 47 48 54 |TENTS, C|OPYRIGHT|
|0001d530| 53 2c 20 0a 54 52 41 44 | 45 4d 41 52 4b 53 2c 20 |S, .TRAD|EMARKS, |
|0001d540| 4f 52 20 4f 54 48 45 52 | 20 52 49 47 48 54 53 2e |OR OTHER| RIGHTS.|
|0001d550| 20 20 43 6f 72 6e 65 6c | 6c 20 73 68 61 6c 6c 20 | Cornel|l shall |
|0001d560| 6e 6f 74 20 62 65 20 68 | 65 6c 64 20 6c 69 61 62 |not be h|eld liab|
|0001d570| 6c 65 20 66 6f 72 20 61 | 6e 79 20 6c 69 61 62 69 |le for a|ny liabi|
|0001d580| 6c 69 74 79 20 77 69 74 | 68 20 72 65 73 70 65 63 |lity wit|h respec|
|0001d590| 74 20 74 6f 20 0a 61 6e | 79 20 63 6c 61 69 6d 20 |t to .an|y claim |
|0001d5a0| 62 79 20 74 68 65 20 75 | 73 65 72 20 6f 72 20 61 |by the u|ser or a|
|0001d5b0| 6e 79 20 6f 74 68 65 72 | 20 70 61 72 74 79 20 61 |ny other| party a|
|0001d5c0| 72 69 73 69 6e 67 20 66 | 72 6f 6d 20 75 73 65 20 |rising f|rom use |
|0001d5d0| 6f 66 20 74 68 65 20 70 | 72 6f 67 72 61 6d 2e 0a |of the p|rogram..|
|0001d5e0| 0a 54 68 69 73 20 6d 61 | 74 65 72 69 61 6c 20 69 |.This ma|terial i|
|0001d5f0| 73 20 70 61 72 74 69 61 | 6c 6c 79 20 62 61 73 65 |s partia|lly base|
|0001d600| 64 20 6f 6e 20 77 6f 72 | 6b 20 73 70 6f 6e 73 6f |d on wor|k sponso|
|0001d610| 72 65 64 20 62 79 20 74 | 68 65 20 4e 61 74 69 6f |red by t|he Natio|
|0001d620| 6e 61 6c 20 53 63 69 65 | 6e 63 65 20 46 6f 75 6e |nal Scie|nce Foun|
|0001d630| 64 61 74 69 6f 6e 20 75 | 6e 64 65 72 20 43 6f 6f |dation u|nder Coo|
|0001d640| 70 65 72 61 74 69 76 65 | 20 0a 41 67 72 65 65 6d |perative| .Agreem|
|0001d650| 65 6e 74 20 4e 6f 2e 20 | 4e 43 52 2d 39 33 31 38 |ent No. |NCR-9318|
|0001d660| 33 33 37 2e 20 20 54 68 | 65 20 67 6f 76 65 72 6e |337. Th|e govern|
|0001d670| 6d 65 6e 74 20 68 61 73 | 20 63 65 72 74 61 69 6e |ment has| certain|
|0001d680| 20 72 69 67 68 74 73 20 | 69 6e 20 74 68 69 73 20 | rights |in this |
|0001d690| 6d 61 74 65 72 69 61 6c | 2e 0a 0a 2a 2f 0a 0a 0a |material|...*/...|
|0001d6a0| 0a 23 69 6e 63 6c 75 64 | 65 20 3c 73 74 64 69 6f |.#includ|e <stdio|
|0001d6b0| 2e 68 3e 0a 23 69 6e 63 | 6c 75 64 65 20 3c 73 69 |.h>.#inc|lude <si|
|0001d6c0| 67 6e 61 6c 2e 68 3e 0a | 23 69 6e 63 6c 75 64 65 |gnal.h>.|#include|
|0001d6d0| 20 3c 65 72 72 6e 6f 2e | 68 3e 0a 23 69 6e 63 6c | <errno.|h>.#incl|
|0001d6e0| 75 64 65 20 3c 73 79 73 | 2f 74 79 70 65 73 2e 68 |ude <sys|/types.h|
|0001d6f0| 3e 0a 23 69 6e 63 6c 75 | 64 65 20 3c 73 79 73 2f |>.#inclu|de <sys/|
|0001d700| 73 6f 63 6b 65 74 2e 68 | 3e 0a 23 69 6e 63 6c 75 |socket.h|>.#inclu|
|0001d710| 64 65 20 3c 73 79 73 2f | 73 6f 63 6b 65 74 76 61 |de <sys/|socketva|
|0001d720| 72 2e 68 3e 0a 23 69 6e | 63 6c 75 64 65 20 3c 6e |r.h>.#in|clude <n|
|0001d730| 65 74 69 6e 65 74 2f 69 | 6e 2e 68 3e 0a 23 69 6e |etinet/i|n.h>.#in|
|0001d740| 63 6c 75 64 65 20 3c 61 | 72 70 61 2f 69 6e 65 74 |clude <a|rpa/inet|
|0001d750| 2e 68 3e 0a 0a 23 69 6e | 63 6c 75 64 65 20 22 72 |.h>..#in|clude "r|
|0001d760| 65 66 6c 65 63 74 2e 68 | 22 0a 23 69 6e 63 6c 75 |eflect.h|".#inclu|
|0001d770| 64 65 20 22 72 65 66 6d | 6f 6e 2e 68 22 0a 0a 75 |de "refm|on.h"..u|
|0001d780| 6e 73 69 67 6e 65 64 20 | 73 68 6f 72 74 20 63 6c |nsigned |short cl|
|0001d790| 69 6e 63 6e 74 20 3d 20 | 31 3b 0a 0a 65 78 74 65 |incnt = |1;..exte|
|0001d7a0| 72 6e 20 73 68 6f 72 74 | 20 64 65 62 75 67 3b 0a |rn short| debug;.|
|0001d7b0| 65 78 74 65 72 6e 20 75 | 6e 73 69 67 6e 65 64 20 |extern u|nsigned |
|0001d7c0| 6c 6f 6e 67 20 72 65 73 | 74 72 69 63 74 5f 6c 69 |long res|trict_li|
|0001d7d0| 73 74 5b 5d 3b 0a 65 78 | 74 65 72 6e 20 73 68 6f |st[];.ex|tern sho|
|0001d7e0| 72 74 20 72 65 73 74 72 | 69 63 74 5f 63 6e 74 3b |rt restr|ict_cnt;|
|0001d7f0| 0a 0a 65 78 74 65 72 6e | 20 75 6e 73 69 67 6e 65 |..extern| unsigne|
|0001d800| 64 20 6c 6f 6e 67 20 64 | 65 6e 79 5f 6c 69 73 74 |d long d|eny_list|
|0001d810| 5b 5d 3b 0a 65 78 74 65 | 72 6e 20 73 68 6f 72 74 |[];.exte|rn short|
|0001d820| 20 64 65 6e 79 5f 63 6e | 74 3b 0a 0a 65 78 74 65 | deny_cn|t;..exte|
|0001d830| 72 6e 20 75 6e 73 69 67 | 6e 65 64 20 6c 6f 6e 67 |rn unsig|ned long|
|0001d840| 20 62 63 63 5f 73 65 72 | 76 65 72 5f 6c 69 73 74 | bcc_ser|ver_list|
|0001d850| 5b 5d 3b 0a 65 78 74 65 | 72 6e 20 73 68 6f 72 74 |[];.exte|rn short|
|0001d860| 20 62 63 63 5f 73 72 76 | 5f 63 6e 74 3b 0a 0a 65 | bcc_srv|_cnt;..e|
|0001d870| 78 74 65 72 6e 20 75 6e | 73 69 67 6e 65 64 20 6c |xtern un|signed l|
|0001d880| 6f 6e 67 20 62 63 63 5f | 63 6c 69 65 6e 74 5f 6c |ong bcc_|client_l|
|0001d890| 69 73 74 5b 5d 3b 0a 65 | 78 74 65 72 6e 20 73 68 |ist[];.e|xtern sh|
|0001d8a0| 6f 72 74 20 62 63 63 5f | 63 6c 74 5f 63 6e 74 3b |ort bcc_|clt_cnt;|
|0001d8b0| 0a 0a 65 78 74 65 72 6e | 20 75 6e 73 69 67 6e 65 |..extern| unsigne|
|0001d8c0| 64 20 6c 6f 6e 67 20 72 | 65 66 5f 75 63 61 73 74 |d long r|ef_ucast|
|0001d8d0| 5f 6c 69 73 74 5b 5d 3b | 0a 65 78 74 65 72 6e 20 |_list[];|.extern |
|0001d8e0| 73 68 6f 72 74 20 72 65 | 66 5f 75 63 61 73 74 5f |short re|f_ucast_|
|0001d8f0| 63 6e 74 3b 20 20 20 20 | 20 20 20 20 20 20 0a 0a |cnt; | ..|
|0001d900| 65 78 74 65 72 6e 20 73 | 68 6f 72 74 20 73 65 6c |extern s|hort sel|
|0001d910| 66 5f 72 65 66 6c 65 63 | 74 2c 6c 6f 63 61 6c 5f |f_reflec|t,local_|
|0001d920| 73 65 6e 64 65 72 73 3b | 0a 65 78 74 65 72 6e 20 |senders;|.extern |
|0001d930| 63 68 61 72 20 2a 74 72 | 61 63 65 66 69 6c 65 3b |char *tr|acefile;|
|0001d940| 0a 0a 65 78 74 65 72 6e | 20 63 68 61 72 20 63 6f |..extern| char co|
|0001d950| 6e 66 5f 62 75 66 5b 5d | 3b 0a 65 78 74 65 72 6e |nf_buf[]|;.extern|
|0001d960| 20 63 68 61 72 20 6d 6f | 74 64 5f 62 75 66 5b 5d | char mo|td_buf[]|
|0001d970| 3b 0a 65 78 74 65 72 6e | 20 63 68 61 72 20 6d 70 |;.extern| char mp|
|0001d980| 5f 62 75 66 5b 5d 3b 0a | 65 78 74 65 72 6e 20 63 |_buf[];.|extern c|
|0001d990| 68 61 72 20 63 69 5f 62 | 75 66 5b 5d 3b 0a 65 78 |har ci_b|uf[];.ex|
|0001d9a0| 74 65 72 6e 20 63 68 61 | 72 20 61 64 5f 62 75 66 |tern cha|r ad_buf|
|0001d9b0| 5b 5d 3b 0a 65 78 74 65 | 72 6e 20 63 68 61 72 20 |[];.exte|rn char |
|0001d9c0| 6d 76 5f 6d 61 63 5f 62 | 75 66 5b 5d 3b 0a 65 78 |mv_mac_b|uf[];.ex|
|0001d9d0| 74 65 72 6e 20 63 68 61 | 72 20 6d 76 5f 70 63 5f |tern cha|r mv_pc_|
|0001d9e0| 62 75 66 5b 5d 3b 0a 65 | 78 74 65 72 6e 20 63 68 |buf[];.e|xtern ch|
|0001d9f0| 61 72 20 64 79 5f 62 75 | 66 5b 5d 3b 0a 65 78 74 |ar dy_bu|f[];.ext|
|0001da00| 65 72 6e 20 73 68 6f 72 | 74 20 6d 6f 74 64 5f 6c |ern shor|t motd_l|
|0001da10| 65 6e 3b 0a 65 78 74 65 | 72 6e 20 69 6e 74 20 6d |en;.exte|rn int m|
|0001da20| 61 76 65 6e 5f 70 6f 72 | 74 3b 0a 65 78 74 65 72 |aven_por|t;.exter|
|0001da30| 6e 20 69 6e 74 20 6c 6f | 67 5f 6c 69 6d 69 74 3b |n int lo|g_limit;|
|0001da40| 0a 65 78 74 65 72 6e 20 | 69 6e 74 20 63 6f 6e 66 |.extern |int conf|
|0001da50| 65 72 65 6e 63 65 5f 69 | 64 3b 0a 65 78 74 65 72 |erence_i|d;.exter|
|0001da60| 6e 20 69 6e 74 20 6d 61 | 78 61 6c 6c 6f 77 65 64 |n int ma|xallowed|
|0001da70| 3b 0a 65 78 74 65 72 6e | 20 69 6e 74 20 6d 69 6e |;.extern| int min|
|0001da80| 5f 6d 61 63 5f 76 65 72 | 73 69 6f 6e 3b 0a 65 78 |_mac_ver|sion;.ex|
|0001da90| 74 65 72 6e 20 69 6e 74 | 20 6d 69 6e 5f 70 63 5f |tern int| min_pc_|
|0001daa0| 76 65 72 73 69 6f 6e 3b | 0a 65 78 74 65 72 6e 20 |version;|.extern |
|0001dab0| 75 6e 73 69 67 6e 65 64 | 20 6c 6f 6e 67 20 63 6f |unsigned| long co|
|0001dac0| 6e 74 72 6f 6c 5f 69 70 | 3b 0a 65 78 74 65 72 6e |ntrol_ip|;.extern|
|0001dad0| 20 75 6e 73 69 67 6e 65 | 64 20 6c 6f 6e 67 20 67 | unsigne|d long g|
|0001dae0| 6f 64 5f 69 70 3b 0a 0a | 23 69 66 64 65 66 20 4d |od_ip;..|#ifdef M|
|0001daf0| 55 4c 54 49 0a 65 78 74 | 65 72 6e 20 73 74 72 75 |ULTI.ext|ern stru|
|0001db00| 63 74 20 73 6f 63 6b 61 | 64 64 72 5f 69 6e 20 6e |ct socka|ddr_in n|
|0001db10| 76 5f 6d 63 61 73 74 3b | 0a 65 78 74 65 72 6e 20 |v_mcast;|.extern |
|0001db20| 73 74 72 75 63 74 20 73 | 6f 63 6b 61 64 64 72 5f |struct s|ockaddr_|
|0001db30| 69 6e 20 72 66 69 6e 5f | 6d 63 61 73 74 3b 0a 65 |in rfin_|mcast;.e|
|0001db40| 78 74 65 72 6e 20 73 74 | 72 75 63 74 20 73 6f 63 |xtern st|ruct soc|
|0001db50| 6b 61 64 64 72 5f 69 6e | 20 72 66 6f 75 74 5f 6d |kaddr_in| rfout_m|
|0001db60| 63 61 73 74 3b 0a 65 78 | 74 65 72 6e 20 73 74 72 |cast;.ex|tern str|
|0001db70| 75 63 74 20 73 6f 63 6b | 61 64 64 72 5f 69 6e 20 |uct sock|addr_in |
|0001db80| 69 6e 6f 75 74 5f 6d 63 | 61 73 74 3b 0a 65 78 74 |inout_mc|ast;.ext|
|0001db90| 65 72 6e 20 69 6e 74 20 | 6e 76 5f 74 74 6c 2c 72 |ern int |nv_ttl,r|
|0001dba0| 66 5f 74 74 6c 2c 69 6e | 6f 75 74 5f 74 74 6c 3b |f_ttl,in|out_ttl;|
|0001dbb0| 0a 23 65 6e 64 69 66 0a | 0a 0a 46 49 4c 45 20 20 |.#endif.|..FILE |
|0001dbc0| 2a 63 6f 6e 66 5f 66 64 | 3b 0a 73 68 6f 72 74 20 |*conf_fd|;.short |
|0001dbd0| 73 63 61 6e 5f 73 74 72 | 28 29 3b 0a 0a 6c 6f 61 |scan_str|();..loa|
|0001dbe0| 64 5f 63 6f 6e 66 69 67 | 28 66 6e 61 6d 65 29 0a |d_config|(fname).|
|0001dbf0| 20 20 20 63 68 61 72 20 | 2a 66 6e 61 6d 65 3b 0a | char |*fname;.|
|0001dc00| 7b 0a 20 20 20 69 6e 74 | 20 20 20 20 20 20 20 20 |{. int| |
|0001dc10| 20 20 20 20 69 63 6e 74 | 3b 0a 20 20 20 63 68 61 | icnt|;. cha|
|0001dc20| 72 20 20 20 20 20 20 20 | 20 20 20 20 63 6f 64 65 |r | code|
|0001dc30| 5b 31 36 5d 2c 6c 69 6e | 65 5b 31 30 31 5d 2c 62 |[16],lin|e[101],b|
|0001dc40| 75 66 5b 31 30 30 5d 2c | 2a 63 6f 6e 66 69 67 66 |uf[100],|*configf|
|0001dc50| 69 6c 65 20 3d 20 43 4f | 4e 46 49 47 46 49 4c 45 |ile = CO|NFIGFILE|
|0001dc60| 3b 0a 20 20 20 69 6e 74 | 20 20 20 20 20 20 20 20 |;. int| |
|0001dc70| 20 20 20 20 63 6e 74 2c | 68 62 2c 6d 68 2c 6d 6c | cnt,|hb,mh,ml|
|0001dc80| 2c 6c 62 3b 0a 20 20 20 | 63 68 61 72 20 20 20 20 |,lb;. |char |
|0001dc90| 20 20 20 20 20 20 20 2a | 74 6d 70 3b 0a 20 20 20 | *|tmp;. |
|0001dca0| 73 68 6f 72 74 20 20 20 | 20 20 20 20 20 20 20 73 |short | s|
|0001dcb0| 74 61 74 75 73 3b 0a 0a | 20 20 20 69 66 20 28 66 |tatus;..| if (f|
|0001dcc0| 6e 61 6d 65 20 21 3d 20 | 4e 55 4c 4c 29 20 0a 20 |name != |NULL) . |
|0001dcd0| 20 20 20 20 20 63 6f 6e | 66 69 67 66 69 6c 65 20 | con|figfile |
|0001dce0| 3d 20 66 6e 61 6d 65 3b | 20 0a 0a 20 20 20 70 72 |= fname;| .. pr|
|0001dcf0| 69 6e 74 66 28 22 5c 6e | 56 65 72 73 69 6f 6e 3a |intf("\n|Version:|
|0001dd00| 20 25 73 5c 6e 22 2c 56 | 45 52 53 49 4f 4e 5f 4e | %s\n",V|ERSION_N|
|0001dd10| 55 4d 29 3b 0a 0a 20 20 | 20 69 66 20 28 28 63 6f |UM);.. | if ((co|
|0001dd20| 6e 66 5f 66 64 20 3d 20 | 66 6f 70 65 6e 20 28 63 |nf_fd = |fopen (c|
|0001dd30| 6f 6e 66 69 67 66 69 6c | 65 2c 20 22 72 22 29 29 |onfigfil|e, "r"))|
|0001dd40| 20 3d 3d 20 4e 55 4c 4c | 29 0a 20 20 20 20 20 20 | == NULL|). |
|0001dd50| 72 65 74 75 72 6e 3b 0a | 0a 20 20 20 74 6d 70 20 |return;.|. tmp |
|0001dd60| 3d 20 63 6f 6e 66 5f 62 | 75 66 3b 0a 0a 20 20 20 |= conf_b|uf;.. |
|0001dd70| 77 68 69 6c 65 20 28 21 | 66 65 6f 66 20 28 63 6f |while (!|feof (co|
|0001dd80| 6e 66 5f 66 64 29 29 20 | 0a 20 20 20 7b 0a 20 20 |nf_fd)) |. {. |
|0001dd90| 20 20 20 20 69 66 20 28 | 28 63 6f 64 65 5b 30 5d | if (|(code[0]|
|0001dda0| 20 3d 20 66 67 65 74 63 | 28 63 6f 6e 66 5f 66 64 | = fgetc|(conf_fd|
|0001ddb0| 29 29 20 3c 3d 20 27 20 | 27 29 20 0a 20 20 20 20 |)) <= ' |') . |
|0001ddc0| 20 20 7b 0a 20 20 20 20 | 20 20 20 20 20 69 66 20 | {. | if |
|0001ddd0| 28 63 6f 64 65 5b 30 5d | 20 3d 3d 20 27 5c 6e 27 |(code[0]| == '\n'|
|0001dde0| 29 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 2b 2b |). | ++|
|0001ddf0| 63 6c 69 6e 63 6e 74 3b | 0a 20 20 20 20 20 20 20 |clincnt;|. |
|0001de00| 20 20 63 6f 6e 74 69 6e | 75 65 3b 0a 20 20 20 20 | contin|ue;. |
|0001de10| 20 20 7d 0a 0a 20 20 20 | 20 20 20 69 66 20 28 28 | }.. | if ((|
|0001de20| 69 63 6e 74 20 3d 20 66 | 73 63 61 6e 66 20 28 63 |icnt = f|scanf (c|
|0001de30| 6f 6e 66 5f 66 64 2c 20 | 22 25 73 22 2c 20 63 6f |onf_fd, |"%s", co|
|0001de40| 64 65 20 2b 20 31 29 29 | 20 3d 3d 20 45 4f 46 29 |de + 1))| == EOF)|
|0001de50| 0a 20 20 20 20 20 20 20 | 20 20 62 72 65 61 6b 3b |. | break;|
|0001de60| 0a 0a 20 20 20 20 20 20 | 69 66 20 28 69 63 6e 74 |.. |if (icnt|
|0001de70| 20 21 3d 20 31 29 0a 20 | 20 20 20 20 20 7b 0a 20 | != 1). | {. |
|0001de80| 20 20 20 20 20 20 20 20 | 70 72 69 6e 74 66 28 22 | |printf("|
|0001de90| 55 6e 61 62 6c 65 20 74 | 6f 20 70 61 72 73 65 20 |Unable t|o parse |
|0001dea0| 63 6f 6e 66 69 67 75 72 | 61 74 69 6f 6e 20 63 6f |configur|ation co|
|0001deb0| 64 65 20 6c 69 6e 65 20 | 25 64 5c 6e 22 2c 63 6c |de line |%d\n",cl|
|0001dec0| 69 6e 63 6e 74 29 3b 0a | 20 20 20 20 20 20 20 20 |incnt);.| |
|0001ded0| 20 65 78 69 74 28 2d 31 | 29 3b 0a 20 20 20 20 20 | exit(-1|);. |
|0001dee0| 20 7d 0a 0a 20 20 20 20 | 20 20 69 66 20 28 63 6f | }.. | if (co|
|0001def0| 64 65 5b 30 5d 20 3d 3d | 20 27 3b 27 29 0a 20 20 |de[0] ==| ';'). |
|0001df00| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 20 20 66 | {. | f|
|0001df10| 67 65 74 73 20 28 6c 69 | 6e 65 2c 20 31 30 30 2c |gets (li|ne, 100,|
|0001df20| 20 63 6f 6e 66 5f 66 64 | 29 3b 0a 20 20 20 20 20 | conf_fd|);. |
|0001df30| 20 20 20 20 2b 2b 63 6c | 69 6e 63 6e 74 3b 0a 20 | ++cl|incnt;. |
|0001df40| 20 20 20 20 20 20 20 20 | 63 6f 6e 74 69 6e 75 65 | |continue|
|0001df50| 3b 0a 20 20 20 20 20 20 | 7d 0a 0a 20 20 20 20 20 |;. |}.. |
|0001df60| 20 70 72 69 6e 74 66 28 | 22 5c 6e 25 64 3a 20 22 | printf(|"\n%d: "|
|0001df70| 2c 63 6c 69 6e 63 6e 74 | 29 3b 0a 0a 20 20 20 20 |,clincnt|);.. |
|0001df80| 20 20 70 72 69 6e 74 66 | 28 22 25 73 20 22 2c 63 | printf|("%s ",c|
|0001df90| 6f 64 65 29 3b 0a 0a 0a | 20 20 20 20 20 20 69 66 |ode);...| if|
|0001dfa0| 20 28 73 74 72 63 61 73 | 65 63 6d 70 20 28 63 6f | (strcas|ecmp (co|
|0001dfb0| 64 65 2c 20 22 44 45 42 | 55 47 22 29 20 3d 3d 20 |de, "DEB|UG") == |
|0001dfc0| 30 29 20 0a 20 20 20 20 | 20 20 7b 0a 09 20 73 74 |0) . | {.. st|
|0001dfd0| 72 63 70 79 28 74 6d 70 | 2c 22 64 65 62 75 67 5c |rcpy(tmp|,"debug\|
|0001dfe0| 6e 20 22 29 3b 0a 09 20 | 74 6d 70 20 2b 3d 20 73 |n ");.. |tmp += s|
|0001dff0| 74 72 6c 65 6e 28 74 6d | 70 29 3b 0a 20 20 20 20 |trlen(tm|p);. |
|0001e000| 20 20 20 20 20 64 65 62 | 75 67 20 3d 20 31 3b 0a | deb|ug = 1;.|
|0001e010| 20 20 20 20 20 20 20 20 | 20 63 6f 6e 74 69 6e 75 | | continu|
|0001e020| 65 3b 0a 20 20 20 20 20 | 20 7d 0a 0a 20 20 20 20 |e;. | }.. |
|0001e030| 20 20 69 66 20 28 73 74 | 72 63 61 73 65 63 6d 70 | if (st|rcasecmp|
|0001e040| 28 63 6f 64 65 2c 20 22 | 4d 43 2d 54 4f 2d 4e 56 |(code, "|MC-TO-NV|
|0001e050| 22 29 20 3d 3d 20 30 29 | 20 0a 20 20 20 20 20 20 |") == 0)| . |
|0001e060| 7b 0a 23 69 66 64 65 66 | 20 4d 55 4c 54 49 0a 09 |{.#ifdef| MULTI..|
|0001e070| 20 73 74 72 63 70 79 28 | 74 6d 70 2c 22 6d 63 2d | strcpy(|tmp,"mc-|
|0001e080| 74 6f 2d 6e 76 20 22 29 | 3b 0a 09 20 74 6d 70 20 |to-nv ")|;.. tmp |
|0001e090| 2b 3d 20 73 74 72 6c 65 | 6e 28 74 6d 70 29 3b 0a |+= strle|n(tmp);.|
|0001e0a0| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 28 63 6e | | if ((cn|
|0001e0b0| 74 20 3d 20 66 73 63 61 | 6e 66 28 63 6f 6e 66 5f |t = fsca|nf(conf_|
|0001e0c0| 66 64 2c 20 22 25 69 20 | 25 69 2e 25 69 2e 25 69 |fd, "%i |%i.%i.%i|
|0001e0d0| 2e 25 69 22 2c 26 6e 76 | 5f 74 74 6c 2c 26 68 62 |.%i",&nv|_ttl,&hb|
|0001e0e0| 2c 26 6d 68 2c 26 6d 6c | 2c 26 6c 62 29 29 20 21 |,&mh,&ml|,&lb)) !|
|0001e0f0| 3d 20 35 29 0a 09 20 7b | 0a 20 20 20 20 20 20 20 |= 5).. {|. |
|0001e100| 20 20 20 20 20 70 72 69 | 6e 74 66 20 28 22 4d 43 | pri|ntf ("MC|
|0001e110| 2d 54 4f 2d 4e 56 20 70 | 61 72 61 6d 61 74 65 72 |-TO-NV p|aramater|
|0001e120| 20 63 6f 75 6e 74 20 65 | 72 72 6f 72 5c 6e 22 29 | count e|rror\n")|
|0001e130| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 65 78 |;. | ex|
|0001e140| 69 74 28 2d 31 29 3b 0a | 20 20 20 20 20 20 20 20 |it(-1);.| |
|0001e150| 20 7d 0a 20 20 20 20 20 | 20 20 20 20 70 72 69 6e | }. | prin|
|0001e160| 74 66 28 22 25 64 20 25 | 64 2e 25 64 2e 25 64 2e |tf("%d %|d.%d.%d.|
|0001e170| 25 64 20 22 2c 6e 76 5f | 74 74 6c 2c 68 62 2c 6d |%d ",nv_|ttl,hb,m|
|0001e180| 68 2c 6d 6c 2c 6c 62 29 | 3b 0a 20 20 20 20 20 20 |h,ml,lb)|;. |
|0001e190| 20 20 20 73 70 72 69 6e | 74 66 28 62 75 66 2c 22 | sprin|tf(buf,"|
|0001e1a0| 25 64 2e 25 64 2e 25 64 | 2e 25 64 20 22 2c 68 62 |%d.%d.%d|.%d ",hb|
|0001e1b0| 2c 6d 68 2c 6d 6c 2c 6c | 62 29 3b 0a 0a 20 20 20 |,mh,ml,l|b);.. |
|0001e1c0| 20 20 20 20 20 20 73 70 | 72 69 6e 74 66 28 74 6d | sp|rintf(tm|
|0001e1d0| 70 2c 22 25 64 2e 25 64 | 2e 25 64 2e 25 64 5c 6e |p,"%d.%d|.%d.%d\n|
|0001e1e0| 22 2c 68 62 2c 6d 68 2c | 6d 6c 2c 6c 62 29 3b 0a |",hb,mh,|ml,lb);.|
|0001e1f0| 09 20 74 6d 70 20 2b 3d | 20 73 74 72 6c 65 6e 28 |. tmp +=| strlen(|
|0001e200| 74 6d 70 29 3b 0a 0a 20 | 20 20 20 20 20 20 20 20 |tmp);.. | |
|0001e210| 69 66 20 28 28 6e 76 5f | 6d 63 61 73 74 2e 73 69 |if ((nv_|mcast.si|
|0001e220| 6e 5f 61 64 64 72 2e 73 | 5f 61 64 64 72 20 3d 20 |n_addr.s|_addr = |
|0001e230| 69 6e 65 74 5f 61 64 64 | 72 28 62 75 66 29 29 20 |inet_add|r(buf)) |
|0001e240| 3d 3d 20 2d 31 29 0a 20 | 20 20 20 20 20 20 20 20 |== -1). | |
|0001e250| 7b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 70 72 |{. | pr|
|0001e260| 69 6e 74 66 28 22 69 6e | 65 74 5f 61 64 64 72 3a |intf("in|et_addr:|
|0001e270| 20 62 61 64 20 4d 43 2d | 54 4f 2d 4e 56 20 6d 75 | bad MC-|TO-NV mu|
|0001e280| 6c 74 69 63 61 73 74 20 | 61 64 64 72 65 73 73 5c |lticast |address\|
|0001e290| 6e 22 29 3b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |n");. | |
|0001e2a0| 20 65 78 69 74 28 2d 31 | 29 3b 0a 20 20 20 20 20 | exit(-1|);. |
|0001e2b0| 20 20 20 20 7d 0a 20 20 | 20 20 20 20 20 20 20 6e | }. | n|
|0001e2c0| 76 5f 6d 63 61 73 74 2e | 73 69 6e 5f 66 61 6d 69 |v_mcast.|sin_fami|
|0001e2d0| 6c 79 20 3d 20 41 46 5f | 49 4e 45 54 3b 0a 20 20 |ly = AF_|INET;. |
|0001e2e0| 20 20 20 20 20 20 20 6e | 76 5f 6d 63 61 73 74 2e | n|v_mcast.|
|0001e2f0| 73 69 6e 5f 70 6f 72 74 | 20 3d 20 68 74 6f 6e 73 |sin_port| = htons|
|0001e300| 28 4e 56 5f 50 4f 52 54 | 29 3b 0a 23 65 6c 73 65 |(NV_PORT|);.#else|
|0001e310| 0a 20 20 20 20 20 20 20 | 20 20 70 72 69 6e 74 66 |. | printf|
|0001e320| 20 28 22 54 68 69 73 20 | 63 6f 70 79 20 6f 66 20 | ("This |copy of |
|0001e330| 74 68 65 20 72 65 66 6c | 65 63 74 6f 72 20 77 61 |the refl|ector wa|
|0001e340| 73 20 6e 6f 74 20 62 75 | 69 6c 74 20 77 69 74 68 |s not bu|ilt with|
|0001e350| 20 4d 75 6c 74 69 63 61 | 73 74 20 73 75 70 70 6f | Multica|st suppo|
|0001e360| 72 74 5c 6e 22 29 3b 0a | 20 20 20 20 20 20 20 20 |rt\n");.| |
|0001e370| 20 65 78 69 74 28 2d 31 | 29 3b 0a 23 65 6e 64 69 | exit(-1|);.#endi|
|0001e380| 66 0a 20 20 20 20 20 20 | 20 20 20 63 6f 6e 74 69 |f. | conti|
|0001e390| 6e 75 65 3b 0a 20 20 20 | 20 20 20 7d 0a 0a 20 20 |nue;. | }.. |
|0001e3a0| 20 20 20 20 69 66 20 28 | 73 74 72 63 61 73 65 63 | if (|strcasec|
|0001e3b0| 6d 70 28 63 6f 64 65 2c | 20 22 4d 43 2d 4f 55 54 |mp(code,| "MC-OUT|
|0001e3c0| 22 29 20 3d 3d 20 30 29 | 20 0a 20 20 20 20 20 20 |") == 0)| . |
|0001e3d0| 7b 0a 23 69 66 64 65 66 | 20 4d 55 4c 54 49 0a 09 |{.#ifdef| MULTI..|
|0001e3e0| 20 73 74 72 63 70 79 28 | 74 6d 70 2c 22 6d 63 2d | strcpy(|tmp,"mc-|
|0001e3f0| 6f 75 74 20 22 29 3b 0a | 09 20 74 6d 70 20 2b 3d |out ");.|. tmp +=|
|0001e400| 20 73 74 72 6c 65 6e 28 | 74 6d 70 29 3b 0a 0a 20 | strlen(|tmp);.. |
|0001e410| 20 20 20 20 20 20 20 20 | 69 66 20 28 28 63 6e 74 | |if ((cnt|
|0001e420| 20 3d 20 66 73 63 61 6e | 66 28 63 6f 6e 66 5f 66 | = fscan|f(conf_f|
|0001e430| 64 2c 20 22 25 69 20 25 | 69 2e 25 69 2e 25 69 2e |d, "%i %|i.%i.%i.|
|0001e440| 25 69 22 2c 26 72 66 5f | 74 74 6c 2c 26 68 62 2c |%i",&rf_|ttl,&hb,|
|0001e450| 26 6d 68 2c 26 6d 6c 2c | 26 6c 62 29 29 20 21 3d |&mh,&ml,|&lb)) !=|
|0001e460| 20 35 29 0a 09 20 7b 0a | 20 20 20 20 20 20 20 20 | 5).. {.| |
|0001e470| 20 20 20 20 70 72 69 6e | 74 66 20 28 22 4d 43 2d | prin|tf ("MC-|
|0001e480| 4f 55 54 2d 6f 75 74 20 | 70 61 72 61 6d 61 74 65 |OUT-out |paramate|
|0001e490| 72 20 63 6f 75 6e 74 20 | 65 72 72 6f 72 5c 6e 22 |r count |error\n"|
|0001e4a0| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 65 |);. | e|
|0001e4b0| 78 69 74 28 2d 31 29 3b | 0a 20 20 20 20 20 20 20 |xit(-1);|. |
|0001e4c0| 20 20 7d 0a 20 20 20 20 | 20 20 20 20 20 70 72 69 | }. | pri|
|0001e4d0| 6e 74 66 28 22 25 64 20 | 25 64 2e 25 64 2e 25 64 |ntf("%d |%d.%d.%d|
|0001e4e0| 2e 25 64 20 22 2c 72 66 | 5f 74 74 6c 2c 68 62 2c |.%d ",rf|_ttl,hb,|
|0001e4f0| 6d 68 2c 6d 6c 2c 6c 62 | 29 3b 0a 20 20 20 20 20 |mh,ml,lb|);. |
|0001e500| 20 20 20 20 73 70 72 69 | 6e 74 66 28 62 75 66 2c | spri|ntf(buf,|
|0001e510| 22 25 64 2e 25 64 2e 25 | 64 2e 25 64 20 22 2c 68 |"%d.%d.%|d.%d ",h|
|0001e520| 62 2c 6d 68 2c 6d 6c 2c | 6c 62 29 3b 0a 0a 20 20 |b,mh,ml,|lb);.. |
|0001e530| 20 20 20 20 20 20 20 73 | 70 72 69 6e 74 66 28 74 | s|printf(t|
|0001e540| 6d 70 2c 22 25 64 2e 25 | 64 2e 25 64 2e 25 64 5c |mp,"%d.%|d.%d.%d\|
|0001e550| 6e 22 2c 68 62 2c 6d 68 | 2c 6d 6c 2c 6c 62 29 3b |n",hb,mh|,ml,lb);|
|0001e560| 0a 09 20 74 6d 70 20 2b | 3d 20 73 74 72 6c 65 6e |.. tmp +|= strlen|
|0001e570| 28 74 6d 70 29 3b 0a 0a | 20 20 20 20 20 20 20 20 |(tmp);..| |
|0001e580| 20 69 66 20 28 28 72 66 | 6f 75 74 5f 6d 63 61 73 | if ((rf|out_mcas|
|0001e590| 74 2e 73 69 6e 5f 61 64 | 64 72 2e 73 5f 61 64 64 |t.sin_ad|dr.s_add|
|0001e5a0| 72 20 3d 20 69 6e 65 74 | 5f 61 64 64 72 28 62 75 |r = inet|_addr(bu|
|0001e5b0| 66 29 29 20 3d 3d 20 2d | 31 29 0a 20 20 20 20 20 |f)) == -|1). |
|0001e5c0| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|0001e5d0| 20 20 70 72 69 6e 74 66 | 28 22 69 6e 65 74 5f 61 | printf|("inet_a|
|0001e5e0| 64 64 72 3a 20 62 61 64 | 20 4d 43 2d 4f 55 54 20 |ddr: bad| MC-OUT |
|0001e5f0| 6d 75 6c 74 69 63 61 73 | 74 20 61 64 64 72 65 73 |multicas|t addres|
|0001e600| 73 5c 6e 22 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |s\n");. | |
|0001e610| 20 20 20 65 78 69 74 28 | 2d 31 29 3b 0a 20 20 20 | exit(|-1);. |
|0001e620| 20 20 20 20 20 20 7d 0a | 20 20 20 20 20 20 20 20 | }.| |
|0001e630| 20 72 66 6f 75 74 5f 6d | 63 61 73 74 2e 73 69 6e | rfout_m|cast.sin|
|0001e640| 5f 66 61 6d 69 6c 79 20 | 3d 20 41 46 5f 49 4e 45 |_family |= AF_INE|
|0001e650| 54 3b 0a 20 20 20 20 20 | 20 20 20 20 72 66 6f 75 |T;. | rfou|
|0001e660| 74 5f 6d 63 61 73 74 2e | 73 69 6e 5f 70 6f 72 74 |t_mcast.|sin_port|
|0001e670| 20 3d 20 68 74 6f 6e 73 | 28 52 46 5f 50 4f 52 54 | = htons|(RF_PORT|
|0001e680| 29 3b 0a 23 65 6c 73 65 | 0a 20 20 20 20 20 20 20 |);.#else|. |
|0001e690| 20 20 70 72 69 6e 74 66 | 20 28 22 54 68 69 73 20 | printf| ("This |
|0001e6a0| 63 6f 70 79 20 6f 66 20 | 74 68 65 20 72 65 66 6c |copy of |the refl|
|0001e6b0| 65 63 74 6f 72 20 77 61 | 73 20 6e 6f 74 20 62 75 |ector wa|s not bu|
|0001e6c0| 69 6c 74 20 77 69 74 68 | 20 4d 75 6c 74 69 63 61 |ilt with| Multica|
|0001e6d0| 73 74 20 73 75 70 70 6f | 72 74 5c 6e 22 29 3b 0a |st suppo|rt\n");.|
|0001e6e0| 20 20 20 20 20 20 20 20 | 20 65 78 69 74 28 2d 31 | | exit(-1|
|0001e6f0| 29 3b 0a 23 65 6e 64 69 | 66 0a 20 20 20 20 20 20 |);.#endi|f. |
|0001e700| 20 20 20 63 6f 6e 74 69 | 6e 75 65 3b 0a 20 20 20 | conti|nue;. |
|0001e710| 20 20 20 7d 0a 0a 20 20 | 20 20 20 20 69 66 20 28 | }.. | if (|
|0001e720| 73 74 72 63 61 73 65 63 | 6d 70 28 63 6f 64 65 2c |strcasec|mp(code,|
|0001e730| 20 22 4d 43 2d 49 4e 22 | 29 20 3d 3d 20 30 29 20 | "MC-IN"|) == 0) |
|0001e740| 0a 20 20 20 20 20 20 7b | 0a 23 69 66 64 65 66 20 |. {|.#ifdef |
|0001e750| 4d 55 4c 54 49 0a 09 20 | 73 74 72 63 70 79 28 74 |MULTI.. |strcpy(t|
|0001e760| 6d 70 2c 22 6d 63 2d 69 | 6e 20 22 29 3b 0a 09 20 |mp,"mc-i|n ");.. |
|0001e770| 74 6d 70 20 2b 3d 20 73 | 74 72 6c 65 6e 28 74 6d |tmp += s|trlen(tm|
|0001e780| 70 29 3b 0a 0a 20 20 20 | 20 20 20 20 20 20 69 66 |p);.. | if|
|0001e790| 20 28 28 63 6e 74 20 3d | 20 66 73 63 61 6e 66 28 | ((cnt =| fscanf(|
|0001e7a0| 63 6f 6e 66 5f 66 64 2c | 20 22 25 69 2e 25 69 2e |conf_fd,| "%i.%i.|
|0001e7b0| 25 69 2e 25 69 22 2c 26 | 68 62 2c 26 6d 68 2c 26 |%i.%i",&|hb,&mh,&|
|0001e7c0| 6d 6c 2c 26 6c 62 29 29 | 20 21 3d 20 34 29 0a 09 |ml,&lb))| != 4)..|
|0001e7d0| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 70 | {. | p|
|0001e7e0| 72 69 6e 74 66 20 28 22 | 4d 43 2d 49 4e 20 70 61 |rintf ("|MC-IN pa|
|0001e7f0| 72 61 6d 61 74 65 72 20 | 63 6f 75 6e 74 20 65 72 |ramater |count er|
|0001e800| 72 6f 72 5c 6e 22 2c 20 | 63 6e 74 29 3b 0a 20 20 |ror\n", |cnt);. |
|0001e810| 20 20 20 20 20 20 20 20 | 20 20 65 78 69 74 28 2d | | exit(-|
|0001e820| 31 29 3b 0a 20 20 20 20 | 20 20 20 20 20 7d 0a 20 |1);. | }. |
|0001e830| 20 20 20 20 20 20 20 20 | 70 72 69 6e 74 66 28 22 | |printf("|
|0001e840| 25 64 2e 25 64 2e 25 64 | 2e 25 64 20 22 2c 68 62 |%d.%d.%d|.%d ",hb|
|0001e850| 2c 6d 68 2c 6d 6c 2c 6c | 62 29 3b 0a 20 20 20 20 |,mh,ml,l|b);. |
|0001e860| 20 20 20 20 20 73 70 72 | 69 6e 74 66 28 62 75 66 | spr|intf(buf|
|0001e870| 2c 22 25 64 2e 25 64 2e | 25 64 2e 25 64 20 22 2c |,"%d.%d.|%d.%d ",|
|0001e880| 68 62 2c 6d 68 2c 6d 6c | 2c 6c 62 29 3b 0a 0a 20 |hb,mh,ml|,lb);.. |
|0001e890| 20 20 20 20 20 20 20 20 | 73 70 72 69 6e 74 66 28 | |sprintf(|
|0001e8a0| 74 6d 70 2c 22 25 64 2e | 25 64 2e 25 64 2e 25 64 |tmp,"%d.|%d.%d.%d|
|0001e8b0| 5c 6e 22 2c 68 62 2c 6d | 68 2c 6d 6c 2c 6c 62 29 |\n",hb,m|h,ml,lb)|
|0001e8c0| 3b 0a 09 20 74 6d 70 20 | 2b 3d 20 73 74 72 6c 65 |;.. tmp |+= strle|
|0001e8d0| 6e 28 74 6d 70 29 3b 0a | 0a 20 20 20 20 20 20 20 |n(tmp);.|. |
|0001e8e0| 20 20 69 66 20 28 28 72 | 66 69 6e 5f 6d 63 61 73 | if ((r|fin_mcas|
|0001e8f0| 74 2e 73 69 6e 5f 61 64 | 64 72 2e 73 5f 61 64 64 |t.sin_ad|dr.s_add|
|0001e900| 72 20 3d 20 69 6e 65 74 | 5f 61 64 64 72 28 62 75 |r = inet|_addr(bu|
|0001e910| 66 29 29 20 3d 3d 20 2d | 31 29 0a 20 20 20 20 20 |f)) == -|1). |
|0001e920| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|0001e930| 20 20 70 72 69 6e 74 66 | 28 22 69 6e 65 74 5f 61 | printf|("inet_a|
|0001e940| 64 64 72 3a 20 62 61 64 | 20 4d 43 2d 49 4e 20 6d |ddr: bad| MC-IN m|
|0001e950| 75 6c 74 69 63 61 73 74 | 20 61 64 64 72 65 73 73 |ulticast| address|
|0001e960| 5c 6e 22 29 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |\n");. | |
|0001e970| 20 20 65 78 69 74 28 2d | 31 29 3b 0a 20 20 20 20 | exit(-|1);. |
|0001e980| 20 20 20 20 20 7d 0a 20 | 20 20 20 20 20 20 20 20 | }. | |
|0001e990| 72 66 69 6e 5f 6d 63 61 | 73 74 2e 73 69 6e 5f 66 |rfin_mca|st.sin_f|
|0001e9a0| 61 6d 69 6c 79 20 3d 20 | 41 46 5f 49 4e 45 54 3b |amily = |AF_INET;|
|0001e9b0| 0a 20 20 20 20 20 20 20 | 20 20 72 66 69 6e 5f 6d |. | rfin_m|
|0001e9c0| 63 61 73 74 2e 73 69 6e | 5f 70 6f 72 74 20 3d 20 |cast.sin|_port = |
|0001e9d0| 68 74 6f 6e 73 28 52 46 | 5f 50 4f 52 54 29 3b 0a |htons(RF|_PORT);.|
|0001e9e0| 23 65 6c 73 65 0a 20 20 | 20 20 20 20 20 20 20 70 |#else. | p|
|0001e9f0| 72 69 6e 74 66 20 28 22 | 54 68 69 73 20 63 6f 70 |rintf ("|This cop|
|0001ea00| 79 20 6f 66 20 74 68 65 | 20 72 65 66 6c 65 63 74 |y of the| reflect|
|0001ea10| 6f 72 20 77 61 73 20 6e | 6f 74 20 62 75 69 6c 74 |or was n|ot built|
|0001ea20| 20 77 69 74 68 20 4d 75 | 6c 74 69 63 61 73 74 20 | with Mu|lticast |
|0001ea30| 73 75 70 70 6f 72 74 5c | 6e 22 29 3b 0a 20 20 20 |support\|n");. |
|0001ea40| 20 20 20 20 20 20 65 78 | 69 74 28 2d 31 29 3b 0a | ex|it(-1);.|
|0001ea50| 23 65 6e 64 69 66 0a 20 | 20 20 20 20 20 20 20 20 |#endif. | |
|0001ea60| 63 6f 6e 74 69 6e 75 65 | 3b 0a 20 20 20 20 20 20 |continue|;. |
|0001ea70| 7d 0a 0a 20 20 20 20 20 | 20 69 66 20 28 73 74 72 |}.. | if (str|
|0001ea80| 63 61 73 65 63 6d 70 28 | 63 6f 64 65 2c 20 22 4d |casecmp(|code, "M|
|0001ea90| 43 2d 47 52 4f 55 50 22 | 29 20 3d 3d 20 30 29 20 |C-GROUP"|) == 0) |
|0001eaa0| 0a 20 20 20 20 20 20 7b | 0a 23 69 66 64 65 66 20 |. {|.#ifdef |
|0001eab0| 4d 55 4c 54 49 0a 09 20 | 73 74 72 63 70 79 28 74 |MULTI.. |strcpy(t|
|0001eac0| 6d 70 2c 22 6d 63 2d 67 | 72 6f 75 70 20 22 29 3b |mp,"mc-g|roup ");|
|0001ead0| 0a 09 20 74 6d 70 20 2b | 3d 20 73 74 72 6c 65 6e |.. tmp +|= strlen|
|0001eae0| 28 74 6d 70 29 3b 0a 0a | 20 20 20 20 20 20 20 20 |(tmp);..| |
|0001eaf0| 20 69 66 20 28 28 63 6e | 74 20 3d 20 66 73 63 61 | if ((cn|t = fsca|
|0001eb00| 6e 66 28 63 6f 6e 66 5f | 66 64 2c 20 22 25 69 20 |nf(conf_|fd, "%i |
|0001eb10| 25 69 2e 25 69 2e 25 69 | 2e 25 69 22 2c 26 69 6e |%i.%i.%i|.%i",&in|
|0001eb20| 6f 75 74 5f 74 74 6c 2c | 26 68 62 2c 26 6d 68 2c |out_ttl,|&hb,&mh,|
|0001eb30| 26 6d 6c 2c 26 6c 62 29 | 29 20 21 3d 20 35 29 0a |&ml,&lb)|) != 5).|
|0001eb40| 09 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |. {. | |
|0001eb50| 70 72 69 6e 74 66 20 28 | 22 4d 43 2d 47 52 4f 55 |printf (|"MC-GROU|
|0001eb60| 50 20 70 61 72 61 6d 61 | 74 65 72 20 63 6f 75 6e |P parama|ter coun|
|0001eb70| 74 20 65 72 72 6f 72 5c | 6e 22 29 3b 0a 20 20 20 |t error\|n");. |
|0001eb80| 20 20 20 20 20 20 20 20 | 20 65 78 69 74 28 2d 31 | | exit(-1|
|0001eb90| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 7d 0a 20 20 |);. | }. |
|0001eba0| 20 20 20 20 20 20 20 70 | 72 69 6e 74 66 28 22 25 | p|rintf("%|
|0001ebb0| 64 20 25 64 2e 25 64 2e | 25 64 2e 25 64 20 22 2c |d %d.%d.|%d.%d ",|
|0001ebc0| 69 6e 6f 75 74 5f 74 74 | 6c 2c 68 62 2c 6d 68 2c |inout_tt|l,hb,mh,|
|0001ebd0| 6d 6c 2c 6c 62 29 3b 0a | 20 20 20 20 20 20 20 20 |ml,lb);.| |
|0001ebe0| 20 73 70 72 69 6e 74 66 | 28 62 75 66 2c 22 25 64 | sprintf|(buf,"%d|
|0001ebf0| 2e 25 64 2e 25 64 2e 25 | 64 20 22 2c 68 62 2c 6d |.%d.%d.%|d ",hb,m|
|0001ec00| 68 2c 6d 6c 2c 6c 62 29 | 3b 0a 0a 20 20 20 20 20 |h,ml,lb)|;.. |
|0001ec10| 20 20 20 20 73 70 72 69 | 6e 74 66 28 74 6d 70 2c | spri|ntf(tmp,|
|0001ec20| 22 25 64 2e 25 64 2e 25 | 64 2e 25 64 5c 6e 22 2c |"%d.%d.%|d.%d\n",|
|0001ec30| 68 62 2c 6d 68 2c 6d 6c | 2c 6c 62 29 3b 0a 09 20 |hb,mh,ml|,lb);.. |
|0001ec40| 74 6d 70 20 2b 3d 20 73 | 74 72 6c 65 6e 28 74 6d |tmp += s|trlen(tm|
|0001ec50| 70 29 3b 0a 0a 20 20 20 | 20 20 20 20 20 20 69 66 |p);.. | if|
|0001ec60| 20 28 28 69 6e 6f 75 74 | 5f 6d 63 61 73 74 2e 73 | ((inout|_mcast.s|
|0001ec70| 69 6e 5f 61 64 64 72 2e | 73 5f 61 64 64 72 20 3d |in_addr.|s_addr =|
|0001ec80| 20 69 6e 65 74 5f 61 64 | 64 72 28 62 75 66 29 29 | inet_ad|dr(buf))|
|0001ec90| 20 3d 3d 20 2d 31 29 0a | 20 20 20 20 20 20 20 20 | == -1).| |
|0001eca0| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 70 | {. | p|
|0001ecb0| 72 69 6e 74 66 28 22 69 | 6e 65 74 5f 61 64 64 72 |rintf("i|net_addr|
|0001ecc0| 3a 20 62 61 64 20 4d 43 | 2d 47 52 4f 55 50 20 6d |: bad MC|-GROUP m|
|0001ecd0| 75 6c 74 69 63 61 73 74 | 20 61 64 64 72 65 73 73 |ulticast| address|
|0001ece0| 5c 6e 22 29 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |\n");. | |
|0001ecf0| 20 20 65 78 69 74 28 2d | 31 29 3b 0a 20 20 20 20 | exit(-|1);. |
|0001ed00| 20 20 20 20 20 7d 0a 20 | 20 20 20 20 20 20 20 20 | }. | |
|0001ed10| 69 6e 6f 75 74 5f 6d 63 | 61 73 74 2e 73 69 6e 5f |inout_mc|ast.sin_|
|0001ed20| 66 61 6d 69 6c 79 20 3d | 20 41 46 5f 49 4e 45 54 |family =| AF_INET|
|0001ed30| 3b 0a 20 20 20 20 20 20 | 20 20 20 69 6e 6f 75 74 |;. | inout|
|0001ed40| 5f 6d 63 61 73 74 2e 73 | 69 6e 5f 70 6f 72 74 20 |_mcast.s|in_port |
|0001ed50| 3d 20 68 74 6f 6e 73 28 | 52 46 5f 50 4f 52 54 29 |= htons(|RF_PORT)|
|0001ed60| 3b 0a 23 65 6c 73 65 0a | 20 20 20 20 20 20 20 20 |;.#else.| |
|0001ed70| 20 70 72 69 6e 74 66 20 | 28 22 54 68 69 73 20 63 | printf |("This c|
|0001ed80| 6f 70 79 20 6f 66 20 74 | 68 65 20 72 65 66 6c 65 |opy of t|he refle|
|0001ed90| 63 74 6f 72 20 77 61 73 | 20 6e 6f 74 20 62 75 69 |ctor was| not bui|
|0001eda0| 6c 74 20 77 69 74 68 20 | 4d 75 6c 74 69 63 61 73 |lt with |Multicas|
|0001edb0| 74 20 73 75 70 70 6f 72 | 74 5c 6e 22 29 3b 0a 20 |t suppor|t\n");. |
|0001edc0| 20 20 20 20 20 20 20 20 | 65 78 69 74 28 2d 31 29 | |exit(-1)|
|0001edd0| 3b 0a 23 65 6e 64 69 66 | 0a 20 20 20 20 20 20 20 |;.#endif|. |
|0001ede0| 20 20 63 6f 6e 74 69 6e | 75 65 3b 0a 20 20 20 20 | contin|ue;. |
|0001edf0| 20 20 7d 0a 0a 20 20 20 | 20 20 20 69 66 20 28 73 | }.. | if (s|
|0001ee00| 74 72 63 61 73 65 63 6d | 70 28 63 6f 64 65 2c 20 |trcasecm|p(code, |
|0001ee10| 22 4d 41 58 2d 50 41 52 | 54 49 43 49 50 41 4e 54 |"MAX-PAR|TICIPANT|
|0001ee20| 53 22 29 20 3d 3d 20 30 | 29 20 0a 20 20 20 20 20 |S") == 0|) . |
|0001ee30| 20 7b 0a 09 20 73 74 72 | 63 70 79 28 74 6d 70 2c | {.. str|cpy(tmp,|
|0001ee40| 22 6d 61 78 2d 70 61 72 | 74 69 63 69 70 61 6e 74 |"max-par|ticipant|
|0001ee50| 73 20 22 29 3b 0a 09 20 | 74 6d 70 20 2b 3d 20 73 |s ");.. |tmp += s|
|0001ee60| 74 72 6c 65 6e 28 74 6d | 70 29 3b 0a 0a 20 20 20 |trlen(tm|p);.. |
|0001ee70| 20 20 20 20 20 20 69 66 | 20 28 28 63 6e 74 20 3d | if| ((cnt =|
|0001ee80| 20 66 73 63 61 6e 66 28 | 63 6f 6e 66 5f 66 64 2c | fscanf(|conf_fd,|
|0001ee90| 20 22 25 69 22 2c 26 6d | 61 78 61 6c 6c 6f 77 65 | "%i",&m|axallowe|
|0001eea0| 64 29 29 20 21 3d 20 31 | 29 0a 09 20 7b 0a 20 20 |d)) != 1|).. {. |
|0001eeb0| 20 20 20 20 20 20 20 20 | 20 20 70 72 69 6e 74 66 | | printf|
|0001eec0| 20 28 22 4d 41 58 2d 50 | 41 52 54 49 43 49 50 41 | ("MAX-P|ARTICIPA|
|0001eed0| 4e 54 53 20 70 61 72 61 | 6d 61 74 65 72 20 63 6f |NTS para|mater co|
|0001eee0| 75 6e 74 20 65 72 72 6f | 72 5c 6e 22 29 3b 0a 20 |unt erro|r\n");. |
|0001eef0| 20 20 20 20 20 20 20 20 | 20 20 20 65 78 69 74 28 | | exit(|
|0001ef00| 2d 31 29 3b 0a 20 20 20 | 20 20 20 20 20 20 7d 0a |-1);. | }.|
|0001ef10| 09 20 70 72 69 6e 74 66 | 28 22 25 64 20 22 2c 6d |. printf|("%d ",m|
|0001ef20| 61 78 61 6c 6c 6f 77 65 | 64 29 3b 0a 09 20 73 70 |axallowe|d);.. sp|
|0001ef30| 72 69 6e 74 66 28 62 75 | 66 2c 22 25 64 20 22 2c |rintf(bu|f,"%d ",|
|0001ef40| 6d 61 78 61 6c 6c 6f 77 | 65 64 29 3b 0a 0a 09 20 |maxallow|ed);... |
|0001ef50| 73 70 72 69 6e 74 66 28 | 74 6d 70 2c 22 25 64 22 |sprintf(|tmp,"%d"|
|0001ef60| 2c 6d 61 78 61 6c 6c 6f | 77 65 64 29 3b 0a 09 20 |,maxallo|wed);.. |
|0001ef70| 74 6d 70 20 2b 3d 20 73 | 74 72 6c 65 6e 28 74 6d |tmp += s|trlen(tm|
|0001ef80| 70 29 3b 0a 0a 09 20 69 | 66 20 28 6d 61 78 61 6c |p);... i|f (maxal|
|0001ef90| 6c 6f 77 65 64 20 3e 20 | 4d 41 58 43 4c 49 45 4e |lowed > |MAXCLIEN|
|0001efa0| 54 29 0a 09 20 7b 0a 09 | 20 20 20 20 70 72 69 6e |T).. {..| prin|
|0001efb0| 74 66 28 22 4d 61 78 69 | 6d 75 6d 20 6e 75 6d 62 |tf("Maxi|mum numb|
|0001efc0| 65 72 20 6f 66 20 63 6c | 69 65 6e 74 73 20 61 6c |er of cl|ients al|
|0001efd0| 6c 6f 77 65 64 20 69 73 | 20 25 64 5c 6e 22 2c 4d |lowed is| %d\n",M|
|0001efe0| 41 58 43 4c 49 45 4e 54 | 29 3b 0a 09 20 20 20 20 |AXCLIENT|);.. |
|0001eff0| 6d 61 78 61 6c 6c 6f 77 | 65 64 20 3d 20 4d 41 58 |maxallow|ed = MAX|
|0001f000| 43 4c 49 45 4e 54 3b 0a | 20 20 20 20 20 20 20 20 |CLIENT;.| |
|0001f010| 20 7d 0a 0a 20 20 20 20 | 20 20 20 20 20 73 74 61 | }.. | sta|
|0001f020| 74 75 73 20 3d 20 73 63 | 61 6e 5f 73 74 72 28 6d |tus = sc|an_str(m|
|0001f030| 70 5f 62 75 66 2c 4d 53 | 47 42 55 46 29 3b 0a 0a |p_buf,MS|GBUF);..|
|0001f040| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 73 74 61 | | if (sta|
|0001f050| 74 75 73 20 3d 3d 20 2d | 31 29 0a 20 20 20 20 20 |tus == -|1). |
|0001f060| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|0001f070| 20 20 70 72 69 6e 74 66 | 20 28 22 6d 61 78 2d 70 | printf| ("max-p|
|0001f080| 61 72 74 69 63 69 70 61 | 6e 74 73 20 6d 65 73 73 |articipa|nts mess|
|0001f090| 61 67 65 20 73 74 72 69 | 6e 67 20 64 6f 65 73 20 |age stri|ng does |
|0001f0a0| 6e 6f 74 20 65 6e 64 20 | 77 69 74 68 20 2f 2f 20 |not end |with // |
|0001f0b0| 5c 6e 22 29 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |\n");. | |
|0001f0c0| 20 20 65 78 69 74 28 2d | 31 29 3b 0a 20 20 20 20 | exit(-|1);. |
|0001f0d0| 20 20 20 20 20 7d 0a 0a | 20 20 20 20 20 20 20 20 | }..| |
|0001f0e0| 20 69 66 20 28 73 74 61 | 74 75 73 20 3d 3d 20 2d | if (sta|tus == -|
|0001f0f0| 32 29 0a 20 20 20 20 20 | 20 20 20 20 7b 0a 20 20 |2). | {. |
|0001f100| 20 20 20 20 20 20 20 20 | 20 20 70 72 69 6e 74 66 | | printf|
|0001f110| 20 28 22 6d 61 78 2d 70 | 61 72 74 69 63 69 70 61 | ("max-p|articipa|
|0001f120| 6e 74 73 20 6d 65 73 73 | 61 67 65 20 6c 65 6e 67 |nts mess|age leng|
|0001f130| 74 68 20 69 73 20 67 72 | 65 61 74 65 72 20 74 68 |th is gr|eater th|
|0001f140| 65 6e 20 25 64 20 63 68 | 61 72 61 63 74 65 72 73 |en %d ch|aracters|
|0001f150| 20 5c 6e 22 2c 4d 53 47 | 42 55 46 29 3b 0a 20 20 | \n",MSG|BUF);. |
|0001f160| 20 20 20 20 20 20 20 20 | 20 20 65 78 69 74 28 2d | | exit(-|
|0001f170| 31 29 3b 0a 20 20 20 20 | 20 20 20 20 20 7d 0a 0a |1);. | }..|
|0001f180| 09 20 73 70 72 69 6e 74 | 66 28 74 6d 70 2c 22 25 |. sprint|f(tmp,"%|
|0001f190| 73 5c 6e 22 2c 6d 70 5f | 62 75 66 29 3b 0a 09 20 |s\n",mp_|buf);.. |
|0001f1a0| 74 6d 70 20 2b 3d 20 73 | 74 72 6c 65 6e 28 74 6d |tmp += s|trlen(tm|
|0001f1b0| 70 29 3b 0a 20 20 20 20 | 20 20 20 20 20 63 6f 6e |p);. | con|
|0001f1c0| 74 69 6e 75 65 3b 0a 0a | 20 20 20 20 20 20 7d 0a |tinue;..| }.|
|0001f1d0| 0a 20 20 20 20 20 20 69 | 66 20 28 73 74 72 63 61 |. i|f (strca|
|0001f1e0| 73 65 63 6d 70 28 63 6f | 64 65 2c 20 22 4d 49 4e |secmp(co|de, "MIN|
|0001f1f0| 2d 4d 41 43 2d 56 45 52 | 53 49 4f 4e 22 29 20 3d |-MAC-VER|SION") =|
|0001f200| 3d 20 30 29 20 0a 20 20 | 20 20 20 20 7b 0a 09 20 |= 0) . | {.. |
|0001f210| 73 74 72 63 70 79 28 74 | 6d 70 2c 22 6d 69 6e 2d |strcpy(t|mp,"min-|
|0001f220| 6d 61 63 2d 76 65 72 73 | 69 6f 6e 20 22 29 3b 0a |mac-vers|ion ");.|
|0001f230| 09 20 74 6d 70 20 2b 3d | 20 73 74 72 6c 65 6e 28 |. tmp +=| strlen(|
|0001f240| 74 6d 70 29 3b 0a 0a 20 | 20 20 20 20 20 20 20 20 |tmp);.. | |
|0001f250| 69 66 20 28 28 63 6e 74 | 20 3d 20 66 73 63 61 6e |if ((cnt| = fscan|
|0001f260| 66 28 63 6f 6e 66 5f 66 | 64 2c 20 22 25 69 22 2c |f(conf_f|d, "%i",|
|0001f270| 26 6d 69 6e 5f 6d 61 63 | 5f 76 65 72 73 69 6f 6e |&min_mac|_version|
|0001f280| 29 29 20 21 3d 20 31 29 | 0a 09 20 7b 0a 20 20 20 |)) != 1)|.. {. |
|0001f290| 20 20 20 20 20 20 20 20 | 20 70 72 69 6e 74 66 20 | | printf |
|0001f2a0| 28 22 4d 49 4e 2d 4d 41 | 43 2d 56 45 52 53 49 4f |("MIN-MA|C-VERSIO|
|0001f2b0| 4e 20 70 61 72 61 6d 61 | 74 65 72 20 63 6f 75 6e |N parama|ter coun|
|0001f2c0| 74 20 65 72 72 6f 72 5c | 6e 22 29 3b 0a 20 20 20 |t error\|n");. |
|0001f2d0| 20 20 20 20 20 20 20 20 | 20 65 78 69 74 28 2d 31 | | exit(-1|
|0001f2e0| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 7d 0a 09 20 |);. | }.. |
|0001f2f0| 70 72 69 6e 74 66 28 22 | 25 64 20 22 2c 6d 69 6e |printf("|%d ",min|
|0001f300| 5f 6d 61 63 5f 76 65 72 | 73 69 6f 6e 29 3b 0a 0a |_mac_ver|sion);..|
|0001f310| 09 20 73 70 72 69 6e 74 | 66 28 62 75 66 2c 22 25 |. sprint|f(buf,"%|
|0001f320| 64 20 22 2c 6d 69 6e 5f | 6d 61 63 5f 76 65 72 73 |d ",min_|mac_vers|
|0001f330| 69 6f 6e 29 3b 0a 0a 09 | 20 73 70 72 69 6e 74 66 |ion);...| sprintf|
|0001f340| 28 74 6d 70 2c 22 25 64 | 20 22 2c 6d 69 6e 5f 6d |(tmp,"%d| ",min_m|
|0001f350| 61 63 5f 76 65 72 73 69 | 6f 6e 29 3b 0a 09 20 74 |ac_versi|on);.. t|
|0001f360| 6d 70 20 2b 3d 20 73 74 | 72 6c 65 6e 28 74 6d 70 |mp += st|rlen(tmp|
|0001f370| 29 3b 0a 0a 20 20 20 20 | 20 20 20 20 20 73 74 61 |);.. | sta|
|0001f380| 74 75 73 20 3d 20 73 63 | 61 6e 5f 73 74 72 28 6d |tus = sc|an_str(m|
|0001f390| 76 5f 6d 61 63 5f 62 75 | 66 2c 4d 53 47 42 55 46 |v_mac_bu|f,MSGBUF|
|0001f3a0| 29 3b 0a 0a 20 20 20 20 | 20 20 20 20 20 69 66 20 |);.. | if |
|0001f3b0| 28 73 74 61 74 75 73 20 | 3d 3d 20 2d 31 29 0a 20 |(status |== -1). |
|0001f3c0| 20 20 20 20 20 20 20 20 | 7b 0a 20 20 20 20 20 20 | |{. |
|0001f3d0| 20 20 20 20 20 20 70 72 | 69 6e 74 66 20 28 22 6d | pr|intf ("m|
|0001f3e0| 69 6e 2d 6d 61 63 2d 76 | 65 72 73 69 6f 6e 20 6d |in-mac-v|ersion m|
|0001f3f0| 65 73 73 61 67 65 20 73 | 74 72 69 6e 67 20 64 6f |essage s|tring do|
|0001f400| 65 73 20 6e 6f 74 20 65 | 6e 64 20 77 69 74 68 20 |es not e|nd with |
|0001f410| 2f 2f 20 5c 6e 22 29 3b | 0a 20 20 20 20 20 20 20 |// \n");|. |
|0001f420| 20 20 20 20 20 65 78 69 | 74 28 2d 31 29 3b 0a 20 | exi|t(-1);. |
|0001f430| 20 20 20 20 20 20 20 20 | 7d 0a 0a 20 20 20 20 20 | |}.. |
|0001f440| 20 20 20 20 69 66 20 28 | 73 74 61 74 75 73 20 3d | if (|status =|
|0001f450| 3d 20 2d 32 29 0a 20 20 | 20 20 20 20 20 20 20 7b |= -2). | {|
|0001f460| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 70 72 69 |. | pri|
|0001f470| 6e 74 66 20 28 22 6d 69 | 6e 2d 6d 61 63 2d 76 65 |ntf ("mi|n-mac-ve|
|0001f480| 72 73 69 6f 6e 20 6d 65 | 73 73 61 67 65 20 6c 65 |rsion me|ssage le|
|0001f490| 6e 67 74 68 20 69 73 20 | 67 72 65 61 74 65 72 20 |ngth is |greater |
|0001f4a0| 74 68 65 6e 20 25 64 20 | 63 68 61 72 61 63 74 65 |then %d |characte|
|0001f4b0| 72 73 20 5c 6e 22 2c 4d | 53 47 42 55 46 29 3b 0a |rs \n",M|SGBUF);.|
|0001f4c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 65 78 69 74 | | exit|
|0001f4d0| 28 2d 31 29 3b 0a 20 20 | 20 20 20 20 20 20 20 7d |(-1);. | }|
|0001f4e0| 0a 0a 20 20 20 20 20 20 | 20 20 20 73 70 72 69 6e |.. | sprin|
|0001f4f0| 74 66 28 74 6d 70 2c 22 | 25 73 5c 6e 22 2c 6d 76 |tf(tmp,"|%s\n",mv|
|0001f500| 5f 6d 61 63 5f 62 75 66 | 29 3b 0a 20 20 20 20 20 |_mac_buf|);. |
|0001f510| 20 20 20 20 74 6d 70 20 | 2b 3d 20 73 74 72 6c 65 | tmp |+= strle|
|0001f520| 6e 28 74 6d 70 29 3b 0a | 0a 20 20 20 20 20 20 20 |n(tmp);.|. |
|0001f530| 20 20 63 6f 6e 74 69 6e | 75 65 3b 0a 20 20 20 20 | contin|ue;. |
|0001f540| 20 20 7d 0a 0a 20 20 20 | 20 20 20 69 66 20 28 73 | }.. | if (s|
|0001f550| 74 72 63 61 73 65 63 6d | 70 28 63 6f 64 65 2c 20 |trcasecm|p(code, |
|0001f560| 22 4d 49 4e 2d 50 43 2d | 56 45 52 53 49 4f 4e 22 |"MIN-PC-|VERSION"|
|0001f570| 29 20 3d 3d 20 30 29 20 | 0a 20 20 20 20 20 20 7b |) == 0) |. {|
|0001f580| 0a 09 20 73 74 72 63 70 | 79 28 74 6d 70 2c 22 6d |.. strcp|y(tmp,"m|
|0001f590| 69 6e 2d 70 63 2d 76 65 | 72 73 69 6f 6e 20 22 29 |in-pc-ve|rsion ")|
|0001f5a0| 3b 0a 09 20 74 6d 70 20 | 2b 3d 20 73 74 72 6c 65 |;.. tmp |+= strle|
|0001f5b0| 6e 28 74 6d 70 29 3b 0a | 0a 20 20 20 20 20 20 20 |n(tmp);.|. |
|0001f5c0| 20 20 69 66 20 28 28 63 | 6e 74 20 3d 20 66 73 63 | if ((c|nt = fsc|
|0001f5d0| 61 6e 66 28 63 6f 6e 66 | 5f 66 64 2c 20 22 25 69 |anf(conf|_fd, "%i|
|0001f5e0| 22 2c 26 6d 69 6e 5f 70 | 63 5f 76 65 72 73 69 6f |",&min_p|c_versio|
|0001f5f0| 6e 29 29 20 21 3d 20 31 | 29 0a 09 20 7b 0a 20 20 |n)) != 1|).. {. |
|0001f600| 20 20 20 20 20 20 20 20 | 20 20 70 72 69 6e 74 66 | | printf|
|0001f610| 20 28 22 4d 49 4e 2d 50 | 43 2d 56 45 52 53 49 4f | ("MIN-P|C-VERSIO|
|0001f620| 4e 20 70 61 72 61 6d 61 | 74 65 72 20 63 6f 75 6e |N parama|ter coun|
|0001f630| 74 20 65 72 72 6f 72 5c | 6e 22 29 3b 0a 20 20 20 |t error\|n");. |
|0001f640| 20 20 20 20 20 20 20 20 | 20 65 78 69 74 28 2d 31 | | exit(-1|
|0001f650| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 7d 0a 09 20 |);. | }.. |
|0001f660| 70 72 69 6e 74 66 28 22 | 25 64 20 22 2c 6d 69 6e |printf("|%d ",min|
|0001f670| 5f 70 63 5f 76 65 72 73 | 69 6f 6e 29 3b 0a 0a 09 |_pc_vers|ion);...|
|0001f680| 20 73 70 72 69 6e 74 66 | 28 62 75 66 2c 22 25 64 | sprintf|(buf,"%d|
|0001f690| 20 22 2c 6d 69 6e 5f 70 | 63 5f 76 65 72 73 69 6f | ",min_p|c_versio|
|0001f6a0| 6e 29 3b 0a 0a 09 20 73 | 70 72 69 6e 74 66 28 74 |n);... s|printf(t|
|0001f6b0| 6d 70 2c 22 25 64 20 22 | 2c 6d 69 6e 5f 70 63 5f |mp,"%d "|,min_pc_|
|0001f6c0| 76 65 72 73 69 6f 6e 29 | 3b 0a 09 20 74 6d 70 20 |version)|;.. tmp |
|0001f6d0| 2b 3d 20 73 74 72 6c 65 | 6e 28 74 6d 70 29 3b 0a |+= strle|n(tmp);.|
|0001f6e0| 0a 20 20 20 20 20 20 20 | 20 20 73 74 61 74 75 73 |. | status|
|0001f6f0| 20 3d 20 73 63 61 6e 5f | 73 74 72 28 6d 76 5f 70 | = scan_|str(mv_p|
|0001f700| 63 5f 62 75 66 2c 4d 53 | 47 42 55 46 29 3b 0a 0a |c_buf,MS|GBUF);..|
|0001f710| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 73 74 61 | | if (sta|
|0001f720| 74 75 73 20 3d 3d 20 2d | 31 29 0a 20 20 20 20 20 |tus == -|1). |
|0001f730| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|0001f740| 20 20 70 72 69 6e 74 66 | 20 28 22 6d 69 6e 2d 70 | printf| ("min-p|
|0001f750| 63 2d 76 65 72 73 69 6f | 6e 20 6d 65 73 73 61 67 |c-versio|n messag|
|0001f760| 65 20 73 74 72 69 6e 67 | 20 64 6f 65 73 20 6e 6f |e string| does no|
|0001f770| 74 20 65 6e 64 20 77 69 | 74 68 20 2f 2f 20 5c 6e |t end wi|th // \n|
|0001f780| 22 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |");. | |
|0001f790| 65 78 69 74 28 2d 31 29 | 3b 0a 20 20 20 20 20 20 |exit(-1)|;. |
|0001f7a0| 20 20 20 7d 0a 0a 20 20 | 20 20 20 20 20 20 20 69 | }.. | i|
|0001f7b0| 66 20 28 73 74 61 74 75 | 73 20 3d 3d 20 2d 32 29 |f (statu|s == -2)|
|0001f7c0| 0a 20 20 20 20 20 20 20 | 20 20 7b 0a 20 20 20 20 |. | {. |
|0001f7d0| 20 20 20 20 20 20 20 20 | 70 72 69 6e 74 66 20 28 | |printf (|
|0001f7e0| 22 6d 69 6e 2d 70 63 2d | 76 65 72 73 69 6f 6e 20 |"min-pc-|version |
|0001f7f0| 6d 65 73 73 61 67 65 20 | 6c 65 6e 67 74 68 20 69 |message |length i|
|0001f800| 73 20 67 72 65 61 74 65 | 72 20 74 68 65 6e 20 25 |s greate|r then %|
|0001f810| 64 20 63 68 61 72 61 63 | 74 65 72 73 20 5c 6e 22 |d charac|ters \n"|
|0001f820| 2c 4d 53 47 42 55 46 29 | 3b 0a 20 20 20 20 20 20 |,MSGBUF)|;. |
|0001f830| 20 20 20 20 20 20 65 78 | 69 74 28 2d 31 29 3b 0a | ex|it(-1);.|
|0001f840| 20 20 20 20 20 20 20 20 | 20 7d 0a 0a 20 20 20 20 | | }.. |
|0001f850| 20 20 20 20 20 73 70 72 | 69 6e 74 66 28 74 6d 70 | spr|intf(tmp|
|0001f860| 2c 22 25 73 5c 6e 22 2c | 6d 76 5f 70 63 5f 62 75 |,"%s\n",|mv_pc_bu|
|0001f870| 66 29 3b 0a 20 20 20 20 | 20 20 20 20 20 74 6d 70 |f);. | tmp|
|0001f880| 20 2b 3d 20 73 74 72 6c | 65 6e 28 74 6d 70 29 3b | += strl|en(tmp);|
|0001f890| 0a 0a 20 20 20 20 20 20 | 20 20 20 63 6f 6e 74 69 |.. | conti|
|0001f8a0| 6e 75 65 3b 0a 20 20 20 | 20 20 20 7d 0a 0a 20 20 |nue;. | }.. |
|0001f8b0| 20 20 20 20 69 66 20 28 | 73 74 72 63 61 73 65 63 | if (|strcasec|
|0001f8c0| 6d 70 28 63 6f 64 65 2c | 20 22 52 45 46 4d 4f 4e |mp(code,| "REFMON|
|0001f8d0| 22 29 20 3d 3d 20 30 29 | 20 0a 20 20 20 20 20 20 |") == 0)| . |
|0001f8e0| 7b 0a 09 20 73 74 72 63 | 70 79 28 74 6d 70 2c 22 |{.. strc|py(tmp,"|
|0001f8f0| 72 65 66 6d 6f 6e 20 22 | 29 3b 0a 09 20 74 6d 70 |refmon "|);.. tmp|
|0001f900| 20 2b 3d 20 73 74 72 6c | 65 6e 28 74 6d 70 29 3b | += strl|en(tmp);|
|0001f910| 0a 0a 20 20 20 20 20 20 | 20 20 20 69 66 20 28 28 |.. | if ((|
|0001f920| 63 6e 74 20 3d 20 66 73 | 63 61 6e 66 28 63 6f 6e |cnt = fs|canf(con|
|0001f930| 66 5f 66 64 2c 20 22 25 | 69 2e 25 69 2e 25 69 2e |f_fd, "%|i.%i.%i.|
|0001f940| 25 69 22 2c 26 68 62 2c | 26 6d 68 2c 26 6d 6c 2c |%i",&hb,|&mh,&ml,|
|0001f950| 26 6c 62 29 29 20 21 3d | 20 34 29 0a 09 20 7b 0a |&lb)) !=| 4).. {.|
|0001f960| 20 20 20 20 20 20 20 20 | 20 20 20 20 70 72 69 6e | | prin|
|0001f970| 74 66 20 28 22 52 45 46 | 4d 4f 4e 20 70 61 72 61 |tf ("REF|MON para|
|0001f980| 6d 61 74 65 72 20 63 6f | 75 6e 74 20 65 72 72 6f |mater co|unt erro|
|0001f990| 72 5c 6e 22 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |r\n");. | |
|0001f9a0| 20 20 20 65 78 69 74 28 | 2d 31 29 3b 0a 20 20 20 | exit(|-1);. |
|0001f9b0| 20 20 20 20 20 20 7d 0a | 20 20 20 20 20 20 20 20 | }.| |
|0001f9c0| 20 70 72 69 6e 74 66 28 | 22 25 64 2e 25 64 2e 25 | printf(|"%d.%d.%|
|0001f9d0| 64 2e 25 64 20 22 2c 68 | 62 2c 6d 68 2c 6d 6c 2c |d.%d ",h|b,mh,ml,|
|0001f9e0| 6c 62 29 3b 0a 20 20 20 | 20 20 20 20 20 20 73 70 |lb);. | sp|
|0001f9f0| 72 69 6e 74 66 28 62 75 | 66 2c 22 25 64 2e 25 64 |rintf(bu|f,"%d.%d|
|0001fa00| 2e 25 64 2e 25 64 20 22 | 2c 68 62 2c 6d 68 2c 6d |.%d.%d "|,hb,mh,m|
|0001fa10| 6c 2c 6c 62 29 3b 0a 09 | 20 0a 20 20 20 20 20 20 |l,lb);..| . |
|0001fa20| 20 20 20 73 70 72 69 6e | 74 66 28 74 6d 70 2c 22 | sprin|tf(tmp,"|
|0001fa30| 25 64 2e 25 64 2e 25 64 | 2e 25 64 5c 6e 22 2c 68 |%d.%d.%d|.%d\n",h|
|0001fa40| 62 2c 6d 68 2c 6d 6c 2c | 6c 62 29 3b 0a 09 20 74 |b,mh,ml,|lb);.. t|
|0001fa50| 6d 70 20 2b 3d 20 73 74 | 72 6c 65 6e 28 74 6d 70 |mp += st|rlen(tmp|
|0001fa60| 29 3b 0a 0a 20 20 20 20 | 20 20 20 20 20 69 66 20 |);.. | if |
|0001fa70| 28 28 63 6f 6e 74 72 6f | 6c 5f 69 70 20 3d 20 69 |((contro|l_ip = i|
|0001fa80| 6e 65 74 5f 61 64 64 72 | 28 62 75 66 29 29 20 3d |net_addr|(buf)) =|
|0001fa90| 3d 20 2d 31 29 0a 20 20 | 20 20 20 20 20 20 20 7b |= -1). | {|
|0001faa0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 70 72 69 |. | pri|
|0001fab0| 6e 74 66 28 22 69 6e 65 | 74 5f 61 64 64 72 3a 20 |ntf("ine|t_addr: |
|0001fac0| 62 61 64 20 52 45 46 4d | 4f 4e 20 61 64 64 72 65 |bad REFM|ON addre|
|0001fad0| 73 73 5c 6e 22 29 3b 0a | 20 20 20 20 20 20 20 20 |ss\n");.| |
|0001fae0| 20 20 20 20 65 78 69 74 | 28 2d 31 29 3b 0a 20 20 | exit|(-1);. |
|0001faf0| 20 20 20 20 20 20 20 7d | 0a 20 20 20 20 20 20 20 | }|. |
|0001fb00| 20 20 63 6f 6e 74 69 6e | 75 65 3b 0a 20 20 20 20 | contin|ue;. |
|0001fb10| 20 20 7d 0a 0a 20 20 20 | 20 20 20 69 66 20 28 73 | }.. | if (s|
|0001fb20| 74 72 63 61 73 65 63 6d | 70 28 63 6f 64 65 2c 20 |trcasecm|p(code, |
|0001fb30| 22 43 4f 4e 46 2d 49 44 | 22 29 20 3d 3d 20 30 29 |"CONF-ID|") == 0)|
|0001fb40| 20 0a 20 20 20 20 20 20 | 7b 0a 09 20 73 74 72 63 | . |{.. strc|
|0001fb50| 70 79 28 74 6d 70 2c 22 | 63 6f 6e 66 2d 69 64 20 |py(tmp,"|conf-id |
|0001fb60| 22 29 3b 0a 09 20 74 6d | 70 20 2b 3d 20 73 74 72 |");.. tm|p += str|
|0001fb70| 6c 65 6e 28 74 6d 70 29 | 3b 0a 0a 20 20 20 20 20 |len(tmp)|;.. |
|0001fb80| 20 20 20 20 69 66 20 28 | 28 63 6e 74 20 3d 20 66 | if (|(cnt = f|
|0001fb90| 73 63 61 6e 66 28 63 6f | 6e 66 5f 66 64 2c 20 22 |scanf(co|nf_fd, "|
|0001fba0| 25 69 22 2c 26 63 6f 6e | 66 65 72 65 6e 63 65 5f |%i",&con|ference_|
|0001fbb0| 69 64 29 29 20 21 3d 20 | 31 29 0a 09 20 7b 0a 20 |id)) != |1).. {. |
|0001fbc0| 20 20 20 20 20 20 20 20 | 20 20 20 70 72 69 6e 74 | | print|
|0001fbd0| 66 20 28 22 43 4f 4e 46 | 2d 49 44 20 70 61 72 61 |f ("CONF|-ID para|
|0001fbe0| 6d 61 74 65 72 20 63 6f | 75 6e 74 20 65 72 72 6f |mater co|unt erro|
|0001fbf0| 72 5c 6e 22 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |r\n");. | |
|0001fc00| 20 20 20 65 78 69 74 28 | 2d 31 29 3b 0a 20 20 20 | exit(|-1);. |
|0001fc10| 20 20 20 20 20 20 7d 0a | 09 20 70 72 69 6e 74 66 | }.|. printf|
|0001fc20| 28 22 25 64 20 22 2c 63 | 6f 6e 66 65 72 65 6e 63 |("%d ",c|onferenc|
|0001fc30| 65 5f 69 64 29 3b 0a 0a | 09 20 73 70 72 69 6e 74 |e_id);..|. sprint|
|0001fc40| 66 28 74 6d 70 2c 22 25 | 64 20 22 2c 63 6f 6e 66 |f(tmp,"%|d ",conf|
|0001fc50| 65 72 65 6e 63 65 5f 69 | 64 29 3b 0a 09 20 74 6d |erence_i|d);.. tm|
|0001fc60| 70 20 2b 3d 20 73 74 72 | 6c 65 6e 28 74 6d 70 29 |p += str|len(tmp)|
|0001fc70| 3b 0a 0a 20 20 20 20 20 | 20 20 20 20 73 74 61 74 |;.. | stat|
|0001fc80| 75 73 20 3d 20 73 63 61 | 6e 5f 73 74 72 28 63 69 |us = sca|n_str(ci|
|0001fc90| 5f 62 75 66 2c 4d 53 47 | 42 55 46 29 3b 0a 0a 20 |_buf,MSG|BUF);.. |
|0001fca0| 20 20 20 20 20 20 20 20 | 69 66 20 28 73 74 61 74 | |if (stat|
|0001fcb0| 75 73 20 3d 3d 20 2d 31 | 29 0a 20 20 20 20 20 20 |us == -1|). |
|0001fcc0| 20 20 20 7b 0a 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|0001fcd0| 20 70 72 69 6e 74 66 20 | 28 22 63 6f 6e 66 2d 69 | printf |("conf-i|
|0001fce0| 64 20 6d 65 73 73 61 67 | 65 20 73 74 72 69 6e 67 |d messag|e string|
|0001fcf0| 20 64 6f 65 73 20 6e 6f | 74 20 65 6e 64 20 77 69 | does no|t end wi|
|0001fd00| 74 68 20 2f 2f 20 5c 6e | 22 29 3b 0a 20 20 20 20 |th // \n|");. |
|0001fd10| 20 20 20 20 20 20 20 20 | 65 78 69 74 28 2d 31 29 | |exit(-1)|
|0001fd20| 3b 0a 20 20 20 20 20 20 | 20 20 20 7d 0a 0a 20 20 |;. | }.. |
|0001fd30| 20 20 20 20 20 20 20 69 | 66 20 28 73 74 61 74 75 | i|f (statu|
|0001fd40| 73 20 3d 3d 20 2d 32 29 | 0a 20 20 20 20 20 20 20 |s == -2)|. |
|0001fd50| 20 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|0001fd60| 70 72 69 6e 74 66 20 28 | 22 63 6f 6e 66 2d 69 64 |printf (|"conf-id|
|0001fd70| 20 6d 65 73 73 61 67 65 | 20 6c 65 6e 67 74 68 20 | message| length |
|0001fd80| 69 73 20 67 72 65 61 74 | 65 72 20 74 68 65 6e 20 |is great|er then |
|0001fd90| 25 64 20 63 68 61 72 61 | 63 74 65 72 73 20 5c 6e |%d chara|cters \n|
|0001fda0| 22 2c 4d 53 47 42 55 46 | 29 3b 0a 20 20 20 20 20 |",MSGBUF|);. |
|0001fdb0| 20 20 20 20 20 20 20 65 | 78 69 74 28 2d 31 29 3b | e|xit(-1);|
|0001fdc0| 0a 20 20 20 20 20 20 20 | 20 20 7d 0a 0a 20 20 20 |. | }.. |
|0001fdd0| 20 20 20 20 20 20 73 70 | 72 69 6e 74 66 28 74 6d | sp|rintf(tm|
|0001fde0| 70 2c 22 25 73 5c 6e 22 | 2c 63 69 5f 62 75 66 29 |p,"%s\n"|,ci_buf)|
|0001fdf0| 3b 0a 20 20 20 20 20 20 | 20 20 20 74 6d 70 20 2b |;. | tmp +|
|0001fe00| 3d 20 73 74 72 6c 65 6e | 28 74 6d 70 29 3b 0a 0a |= strlen|(tmp);..|
|0001fe10| 20 20 20 20 20 20 20 20 | 20 63 6f 6e 74 69 6e 75 | | continu|
|0001fe20| 65 3b 0a 0a 20 20 20 20 | 20 20 7d 0a 0a 20 20 20 |e;.. | }.. |
|0001fe30| 20 20 20 69 66 20 28 73 | 74 72 63 61 73 65 63 6d | if (s|trcasecm|
|0001fe40| 70 28 63 6f 64 65 2c 20 | 22 41 44 4d 49 54 22 29 |p(code, |"ADMIT")|
|0001fe50| 20 3d 3d 20 30 29 20 0a | 20 20 20 20 20 20 7b 0a | == 0) .| {.|
|0001fe60| 09 20 73 74 72 63 70 79 | 28 74 6d 70 2c 22 61 64 |. strcpy|(tmp,"ad|
|0001fe70| 6d 69 74 20 22 29 3b 0a | 09 20 74 6d 70 20 2b 3d |mit ");.|. tmp +=|
|0001fe80| 20 73 74 72 6c 65 6e 28 | 74 6d 70 29 3b 0a 0a 20 | strlen(|tmp);.. |
|0001fe90| 20 20 20 20 20 20 20 20 | 69 66 20 28 72 65 73 74 | |if (rest|
|0001fea0| 72 69 63 74 5f 63 6e 74 | 20 3d 3d 20 6d 61 78 61 |rict_cnt| == maxa|
|0001feb0| 6c 6c 6f 77 65 64 29 0a | 20 20 20 20 20 20 20 20 |llowed).| |
|0001fec0| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 70 | {. | p|
|0001fed0| 72 69 6e 74 66 28 22 25 | 64 20 69 73 20 74 68 65 |rintf("%|d is the|
|0001fee0| 20 6d 61 78 69 6d 75 6d | 20 6e 75 6d 62 65 72 20 | maximum| number |
|0001fef0| 6f 66 20 6f 66 20 63 6c | 69 65 6e 74 73 20 74 68 |of of cl|ients th|
|0001ff00| 61 74 20 63 61 6e 20 62 | 65 20 61 64 64 65 64 20 |at can b|e added |
|0001ff10| 74 6f 20 74 68 65 20 61 | 64 6d 69 74 20 6c 69 73 |to the a|dmit lis|
|0001ff20| 74 5c 6e 22 2c 6d 61 78 | 61 6c 6c 6f 77 65 64 29 |t\n",max|allowed)|
|0001ff30| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 65 78 |;. | ex|
|0001ff40| 69 74 28 2d 31 29 3b 0a | 20 20 20 20 20 20 20 20 |it(-1);.| |
|0001ff50| 20 7d 0a 0a 20 20 20 20 | 20 20 20 20 20 69 66 20 | }.. | if |
|0001ff60| 28 28 63 6e 74 20 3d 20 | 66 73 63 61 6e 66 28 63 |((cnt = |fscanf(c|
|0001ff70| 6f 6e 66 5f 66 64 2c 20 | 22 25 69 2e 25 69 2e 25 |onf_fd, |"%i.%i.%|
|0001ff80| 69 2e 25 69 22 2c 26 68 | 62 2c 26 6d 68 2c 26 6d |i.%i",&h|b,&mh,&m|
|0001ff90| 6c 2c 26 6c 62 29 29 20 | 21 3d 20 34 29 0a 09 20 |l,&lb)) |!= 4).. |
|0001ffa0| 7b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 70 72 |{. | pr|
|0001ffb0| 69 6e 74 66 20 28 22 41 | 44 4d 49 54 20 70 61 72 |intf ("A|DMIT par|
|0001ffc0| 61 6d 61 74 65 72 20 63 | 6f 75 6e 74 20 65 72 72 |amater c|ount err|
|0001ffd0| 6f 72 5c 6e 22 29 3b 0a | 20 20 20 20 20 20 20 20 |or\n");.| |
|0001ffe0| 20 20 20 20 65 78 69 74 | 28 2d 31 29 3b 0a 20 20 | exit|(-1);. |
|0001fff0| 20 20 20 20 20 20 20 7d | 0a 20 20 20 20 20 20 20 | }|. |
|00020000| 20 20 70 72 69 6e 74 66 | 28 22 25 64 2e 25 64 2e | printf|("%d.%d.|
|00020010| 25 64 2e 25 64 20 22 2c | 68 62 2c 6d 68 2c 6d 6c |%d.%d ",|hb,mh,ml|
|00020020| 2c 6c 62 29 3b 0a 20 20 | 20 20 20 20 20 20 20 73 |,lb);. | s|
|00020030| 70 72 69 6e 74 66 28 62 | 75 66 2c 22 25 64 2e 25 |printf(b|uf,"%d.%|
|00020040| 64 2e 25 64 2e 25 64 20 | 22 2c 68 62 2c 6d 68 2c |d.%d.%d |",hb,mh,|
|00020050| 6d 6c 2c 6c 62 29 3b 0a | 09 20 0a 20 20 20 20 20 |ml,lb);.|. . |
|00020060| 20 20 20 20 73 70 72 69 | 6e 74 66 28 74 6d 70 2c | spri|ntf(tmp,|
|00020070| 22 25 64 2e 25 64 2e 25 | 64 2e 25 64 20 22 2c 68 |"%d.%d.%|d.%d ",h|
|00020080| 62 2c 6d 68 2c 6d 6c 2c | 6c 62 29 3b 0a 09 20 74 |b,mh,ml,|lb);.. t|
|00020090| 6d 70 20 2b 3d 20 73 74 | 72 6c 65 6e 28 74 6d 70 |mp += st|rlen(tmp|
|000200a0| 29 3b 0a 0a 20 20 20 20 | 20 20 20 20 20 73 74 61 |);.. | sta|
|000200b0| 74 75 73 20 3d 20 73 63 | 61 6e 5f 73 74 72 28 61 |tus = sc|an_str(a|
|000200c0| 64 5f 62 75 66 2c 4d 53 | 47 42 55 46 29 3b 0a 0a |d_buf,MS|GBUF);..|
|000200d0| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 73 74 61 | | if (sta|
|000200e0| 74 75 73 20 3d 3d 20 2d | 31 29 0a 20 20 20 20 20 |tus == -|1). |
|000200f0| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00020100| 20 20 70 72 69 6e 74 66 | 20 28 22 61 64 6d 69 74 | printf| ("admit|
|00020110| 20 6d 65 73 73 61 67 65 | 20 73 74 72 69 6e 67 20 | message| string |
|00020120| 64 6f 65 73 20 6e 6f 74 | 20 65 6e 64 20 77 69 74 |does not| end wit|
|00020130| 68 20 2f 2f 20 5c 6e 22 | 29 3b 0a 20 20 20 20 20 |h // \n"|);. |
|00020140| 20 20 20 20 20 20 20 65 | 78 69 74 28 2d 31 29 3b | e|xit(-1);|
|00020150| 0a 20 20 20 20 20 20 20 | 20 20 7d 0a 0a 20 20 20 |. | }.. |
|00020160| 20 20 20 20 20 20 69 66 | 20 28 73 74 61 74 75 73 | if| (status|
|00020170| 20 3d 3d 20 2d 32 29 0a | 20 20 20 20 20 20 20 20 | == -2).| |
|00020180| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 70 | {. | p|
|00020190| 72 69 6e 74 66 20 28 22 | 61 64 6d 69 74 20 6d 65 |rintf ("|admit me|
|000201a0| 73 73 61 67 65 20 6c 65 | 6e 67 74 68 20 69 73 20 |ssage le|ngth is |
|000201b0| 67 72 65 61 74 65 72 20 | 74 68 65 6e 20 25 64 20 |greater |then %d |
|000201c0| 63 68 61 72 61 63 74 65 | 72 73 20 5c 6e 22 2c 4d |characte|rs \n",M|
|000201d0| 53 47 42 55 46 29 3b 0a | 20 20 20 20 20 20 20 20 |SGBUF);.| |
|000201e0| 20 20 20 20 65 78 69 74 | 28 2d 31 29 3b 0a 20 20 | exit|(-1);. |
|000201f0| 20 20 20 20 20 20 20 7d | 0a 0a 20 20 20 20 20 20 | }|.. |
|00020200| 20 20 20 73 70 72 69 6e | 74 66 28 74 6d 70 2c 22 | sprin|tf(tmp,"|
|00020210| 25 73 5c 6e 22 2c 61 64 | 5f 62 75 66 29 3b 0a 20 |%s\n",ad|_buf);. |
|00020220| 20 20 20 20 20 20 20 20 | 74 6d 70 20 2b 3d 20 73 | |tmp += s|
|00020230| 74 72 6c 65 6e 28 74 6d | 70 29 3b 0a 0a 0a 20 20 |trlen(tm|p);... |
|00020240| 20 20 20 20 20 20 20 69 | 66 20 28 28 72 65 73 74 | i|f ((rest|
|00020250| 72 69 63 74 5f 6c 69 73 | 74 5b 72 65 73 74 72 69 |rict_lis|t[restri|
|00020260| 63 74 5f 63 6e 74 2b 2b | 5d 20 3d 20 69 6e 65 74 |ct_cnt++|] = inet|
|00020270| 5f 61 64 64 72 28 62 75 | 66 29 29 20 3d 3d 20 2d |_addr(bu|f)) == -|
|00020280| 31 29 0a 20 20 20 20 20 | 20 20 20 20 7b 0a 20 20 |1). | {. |
|00020290| 20 20 20 20 20 20 20 20 | 20 20 70 72 69 6e 74 66 | | printf|
|000202a0| 28 22 69 6e 65 74 5f 61 | 64 64 72 3a 20 62 61 64 |("inet_a|ddr: bad|
|000202b0| 20 41 44 4d 49 54 20 61 | 64 64 72 65 73 73 5c 6e | ADMIT a|ddress\n|
|000202c0| 22 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |");. | |
|000202d0| 65 78 69 74 28 2d 31 29 | 3b 0a 20 20 20 20 20 20 |exit(-1)|;. |
|000202e0| 20 20 20 7d 0a 20 20 20 | 20 20 20 20 20 20 63 6f | }. | co|
|000202f0| 6e 74 69 6e 75 65 3b 0a | 20 20 20 20 20 20 7d 0a |ntinue;.| }.|
|00020300| 0a 20 20 20 20 20 20 69 | 66 20 28 73 74 72 63 61 |. i|f (strca|
|00020310| 73 65 63 6d 70 28 63 6f | 64 65 2c 20 22 44 45 4e |secmp(co|de, "DEN|
|00020320| 59 22 29 20 3d 3d 20 30 | 29 20 0a 20 20 20 20 20 |Y") == 0|) . |
|00020330| 20 7b 0a 09 20 73 74 72 | 63 70 79 28 74 6d 70 2c | {.. str|cpy(tmp,|
|00020340| 22 64 65 6e 79 20 22 29 | 3b 0a 09 20 74 6d 70 20 |"deny ")|;.. tmp |
|00020350| 2b 3d 20 73 74 72 6c 65 | 6e 28 74 6d 70 29 3b 0a |+= strle|n(tmp);.|
|00020360| 0a 20 20 20 20 20 20 20 | 20 20 69 66 20 28 64 65 |. | if (de|
|00020370| 6e 79 5f 63 6e 74 20 3d | 3d 20 6d 61 78 61 6c 6c |ny_cnt =|= maxall|
|00020380| 6f 77 65 64 29 0a 20 20 | 20 20 20 20 20 20 20 7b |owed). | {|
|00020390| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 70 72 69 |. | pri|
|000203a0| 6e 74 66 28 22 25 64 20 | 69 73 20 74 68 65 20 6d |ntf("%d |is the m|
|000203b0| 61 78 69 6d 75 6d 20 6e | 75 6d 62 65 72 20 6f 66 |aximum n|umber of|
|000203c0| 20 6f 66 20 63 6c 69 65 | 6e 74 73 20 74 68 61 74 | of clie|nts that|
|000203d0| 20 63 61 6e 20 62 65 20 | 61 64 64 65 64 20 74 6f | can be |added to|
|000203e0| 20 74 68 65 20 64 65 6e | 79 20 6c 69 73 74 5c 6e | the den|y list\n|
|000203f0| 22 2c 6d 61 78 61 6c 6c | 6f 77 65 64 29 3b 0a 20 |",maxall|owed);. |
|00020400| 20 20 20 20 20 20 20 20 | 20 20 20 65 78 69 74 28 | | exit(|
|00020410| 2d 31 29 3b 0a 20 20 20 | 20 20 20 20 20 20 7d 0a |-1);. | }.|
|00020420| 0a 20 20 20 20 20 20 20 | 20 20 69 66 20 28 28 63 |. | if ((c|
|00020430| 6e 74 20 3d 20 66 73 63 | 61 6e 66 28 63 6f 6e 66 |nt = fsc|anf(conf|
|00020440| 5f 66 64 2c 20 22 25 69 | 2e 25 69 2e 25 69 2e 25 |_fd, "%i|.%i.%i.%|
|00020450| 69 22 2c 26 68 62 2c 26 | 6d 68 2c 26 6d 6c 2c 26 |i",&hb,&|mh,&ml,&|
|00020460| 6c 62 29 29 20 21 3d 20 | 34 29 0a 09 20 7b 0a 20 |lb)) != |4).. {. |
|00020470| 20 20 20 20 20 20 20 20 | 20 20 20 70 72 69 6e 74 | | print|
|00020480| 66 20 28 22 44 45 4e 59 | 20 70 61 72 61 6d 61 74 |f ("DENY| paramat|
|00020490| 65 72 20 63 6f 75 6e 74 | 20 65 72 72 6f 72 5c 6e |er count| error\n|
|000204a0| 22 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |");. | |
|000204b0| 65 78 69 74 28 2d 31 29 | 3b 0a 20 20 20 20 20 20 |exit(-1)|;. |
|000204c0| 20 20 20 7d 0a 20 20 20 | 20 20 20 20 20 20 70 72 | }. | pr|
|000204d0| 69 6e 74 66 28 22 25 64 | 2e 25 64 2e 25 64 2e 25 |intf("%d|.%d.%d.%|
|000204e0| 64 20 22 2c 68 62 2c 6d | 68 2c 6d 6c 2c 6c 62 29 |d ",hb,m|h,ml,lb)|
|000204f0| 3b 0a 20 20 20 20 20 20 | 20 20 20 73 70 72 69 6e |;. | sprin|
|00020500| 74 66 28 62 75 66 2c 22 | 25 64 2e 25 64 2e 25 64 |tf(buf,"|%d.%d.%d|
|00020510| 2e 25 64 20 22 2c 68 62 | 2c 6d 68 2c 6d 6c 2c 6c |.%d ",hb|,mh,ml,l|
|00020520| 62 29 3b 0a 09 20 0a 20 | 20 20 20 20 20 20 20 20 |b);.. . | |
|00020530| 73 70 72 69 6e 74 66 28 | 74 6d 70 2c 22 25 64 2e |sprintf(|tmp,"%d.|
|00020540| 25 64 2e 25 64 2e 25 64 | 20 22 2c 68 62 2c 6d 68 |%d.%d.%d| ",hb,mh|
|00020550| 2c 6d 6c 2c 6c 62 29 3b | 0a 09 20 74 6d 70 20 2b |,ml,lb);|.. tmp +|
|00020560| 3d 20 73 74 72 6c 65 6e | 28 74 6d 70 29 3b 0a 0a |= strlen|(tmp);..|
|00020570| 20 20 20 20 20 20 20 20 | 20 73 74 61 74 75 73 20 | | status |
|00020580| 3d 20 73 63 61 6e 5f 73 | 74 72 28 64 79 5f 62 75 |= scan_s|tr(dy_bu|
|00020590| 66 2c 4d 53 47 42 55 46 | 29 3b 0a 0a 20 20 20 20 |f,MSGBUF|);.. |
|000205a0| 20 20 20 20 20 69 66 20 | 28 73 74 61 74 75 73 20 | if |(status |
|000205b0| 3d 3d 20 2d 31 29 0a 20 | 20 20 20 20 20 20 20 20 |== -1). | |
|000205c0| 7b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 70 72 |{. | pr|
|000205d0| 69 6e 74 66 20 28 22 64 | 65 6e 79 20 6d 65 73 73 |intf ("d|eny mess|
|000205e0| 61 67 65 20 73 74 72 69 | 6e 67 20 64 6f 65 73 20 |age stri|ng does |
|000205f0| 6e 6f 74 20 65 6e 64 20 | 77 69 74 68 20 2f 2f 20 |not end |with // |
|00020600| 5c 6e 22 29 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |\n");. | |
|00020610| 20 20 65 78 69 74 28 2d | 31 29 3b 0a 20 20 20 20 | exit(-|1);. |
|00020620| 20 20 20 20 20 7d 0a 0a | 20 20 20 20 20 20 20 20 | }..| |
|00020630| 20 69 66 20 28 73 74 61 | 74 75 73 20 3d 3d 20 2d | if (sta|tus == -|
|00020640| 32 29 0a 20 20 20 20 20 | 20 20 20 20 7b 0a 20 20 |2). | {. |
|00020650| 20 20 20 20 20 20 20 20 | 20 20 70 72 69 6e 74 66 | | printf|
|00020660| 20 28 22 64 65 6e 79 20 | 6d 65 73 73 61 67 65 20 | ("deny |message |
|00020670| 6c 65 6e 67 74 68 20 69 | 73 20 67 72 65 61 74 65 |length i|s greate|
|00020680| 72 20 74 68 65 6e 20 25 | 64 20 63 68 61 72 61 63 |r then %|d charac|
|00020690| 74 65 72 73 20 5c 6e 22 | 2c 4d 53 47 42 55 46 29 |ters \n"|,MSGBUF)|
|000206a0| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 65 78 |;. | ex|
|000206b0| 69 74 28 2d 31 29 3b 0a | 20 20 20 20 20 20 20 20 |it(-1);.| |
|000206c0| 20 7d 0a 0a 20 20 20 20 | 20 20 20 20 20 73 70 72 | }.. | spr|
|000206d0| 69 6e 74 66 28 74 6d 70 | 2c 22 25 73 5c 6e 22 2c |intf(tmp|,"%s\n",|
|000206e0| 64 79 5f 62 75 66 29 3b | 0a 20 20 20 20 20 20 20 |dy_buf);|. |
|000206f0| 20 20 74 6d 70 20 2b 3d | 20 73 74 72 6c 65 6e 28 | tmp +=| strlen(|
|00020700| 74 6d 70 29 3b 0a 0a 20 | 20 20 20 20 20 20 20 20 |tmp);.. | |
|00020710| 69 66 20 28 28 64 65 6e | 79 5f 6c 69 73 74 5b 64 |if ((den|y_list[d|
|00020720| 65 6e 79 5f 63 6e 74 2b | 2b 5d 20 3d 20 69 6e 65 |eny_cnt+|+] = ine|
|00020730| 74 5f 61 64 64 72 28 62 | 75 66 29 29 20 3d 3d 20 |t_addr(b|uf)) == |
|00020740| 2d 31 29 0a 20 20 20 20 | 20 20 20 20 20 7b 0a 20 |-1). | {. |
|00020750| 20 20 20 20 20 20 20 20 | 20 20 20 70 72 69 6e 74 | | print|
|00020760| 66 28 22 69 6e 65 74 5f | 61 64 64 72 3a 20 62 61 |f("inet_|addr: ba|
|00020770| 64 20 44 45 4e 59 20 61 | 64 64 72 65 73 73 5c 6e |d DENY a|ddress\n|
|00020780| 22 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |");. | |
|00020790| 65 78 69 74 28 2d 31 29 | 3b 0a 20 20 20 20 20 20 |exit(-1)|;. |
|000207a0| 20 20 20 7d 0a 20 20 20 | 20 20 20 20 20 20 63 6f | }. | co|
|000207b0| 6e 74 69 6e 75 65 3b 0a | 20 20 20 20 20 20 7d 0a |ntinue;.| }.|
|000207c0| 0a 0a 20 20 20 20 20 20 | 69 66 20 28 73 74 72 63 |.. |if (strc|
|000207d0| 61 73 65 63 6d 70 28 63 | 6f 64 65 2c 20 22 53 45 |asecmp(c|ode, "SE|
|000207e0| 4c 46 2d 52 45 46 4c 45 | 43 54 22 29 20 3d 3d 20 |LF-REFLE|CT") == |
|000207f0| 30 29 20 0a 20 20 20 20 | 20 20 7b 0a 09 20 73 74 |0) . | {.. st|
|00020800| 72 63 70 79 28 74 6d 70 | 2c 22 73 65 6c 66 2d 72 |rcpy(tmp|,"self-r|
|00020810| 65 66 6c 65 63 74 5c 6e | 20 22 29 3b 0a 09 20 74 |eflect\n| ");.. t|
|00020820| 6d 70 20 2b 3d 20 73 74 | 72 6c 65 6e 28 74 6d 70 |mp += st|rlen(tmp|
|00020830| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 73 65 6c 66 |);. | self|
|00020840| 5f 72 65 66 6c 65 63 74 | 20 3d 20 31 3b 0a 20 20 |_reflect| = 1;. |
|00020850| 20 20 20 20 20 20 20 63 | 6f 6e 74 69 6e 75 65 3b | c|ontinue;|
|00020860| 0a 20 20 20 20 20 20 7d | 0a 0a 20 20 20 20 20 20 |. }|.. |
|00020870| 69 66 20 28 73 74 72 63 | 61 73 65 63 6d 70 28 63 |if (strc|asecmp(c|
|00020880| 6f 64 65 2c 20 22 4e 4f | 2d 4c 4f 43 41 4c 2d 53 |ode, "NO|-LOCAL-S|
|00020890| 45 4e 44 45 52 53 22 29 | 20 3d 3d 20 30 29 20 0a |ENDERS")| == 0) .|
|000208a0| 20 20 20 20 20 20 7b 0a | 09 20 73 74 72 63 70 79 | {.|. strcpy|
|000208b0| 28 74 6d 70 2c 22 6e 6f | 2d 6c 6f 63 61 6c 2d 73 |(tmp,"no|-local-s|
|000208c0| 65 6e 64 65 72 73 5c 6e | 22 29 3b 0a 09 20 74 6d |enders\n|");.. tm|
|000208d0| 70 20 2b 3d 20 73 74 72 | 6c 65 6e 28 74 6d 70 29 |p += str|len(tmp)|
|000208e0| 3b 0a 20 20 20 20 20 20 | 20 20 20 6c 6f 63 61 6c |;. | local|
|000208f0| 5f 73 65 6e 64 65 72 73 | 20 3d 20 30 3b 0a 20 20 |_senders| = 0;. |
|00020900| 20 20 20 20 20 20 20 63 | 6f 6e 74 69 6e 75 65 3b | c|ontinue;|
|00020910| 0a 20 20 20 20 20 20 7d | 0a 0a 20 20 20 20 20 20 |. }|.. |
|00020920| 69 66 20 28 73 74 72 63 | 61 73 65 63 6d 70 28 63 |if (strc|asecmp(c|
|00020930| 6f 64 65 2c 20 22 4c 4f | 47 22 29 20 3d 3d 20 30 |ode, "LO|G") == 0|
|00020940| 29 20 0a 20 20 20 20 20 | 20 7b 0a 09 20 73 74 72 |) . | {.. str|
|00020950| 63 70 79 28 74 6d 70 2c | 22 6c 6f 67 20 22 29 3b |cpy(tmp,|"log ");|
|00020960| 0a 09 20 74 6d 70 20 2b | 3d 20 73 74 72 6c 65 6e |.. tmp +|= strlen|
|00020970| 28 74 6d 70 29 3b 0a 0a | 20 20 20 20 20 20 20 20 |(tmp);..| |
|00020980| 20 69 66 20 28 28 63 6e | 74 20 3d 20 66 73 63 61 | if ((cn|t = fsca|
|00020990| 6e 66 28 63 6f 6e 66 5f | 66 64 2c 20 22 25 73 22 |nf(conf_|fd, "%s"|
|000209a0| 2c 74 72 61 63 65 66 69 | 6c 65 29 29 20 21 3d 20 |,tracefi|le)) != |
|000209b0| 31 29 0a 09 20 7b 0a 20 | 20 20 20 20 20 20 20 20 |1).. {. | |
|000209c0| 20 20 20 70 72 69 6e 74 | 66 20 28 22 4c 4f 47 20 | print|f ("LOG |
|000209d0| 70 61 72 61 6d 61 74 65 | 72 20 63 6f 75 6e 74 20 |paramate|r count |
|000209e0| 65 72 72 6f 72 5c 6e 22 | 29 3b 0a 20 20 20 20 20 |error\n"|);. |
|000209f0| 20 20 20 20 20 20 20 65 | 78 69 74 28 2d 31 29 3b | e|xit(-1);|
|00020a00| 0a 20 20 20 20 20 20 20 | 20 20 7d 0a 09 20 70 72 |. | }.. pr|
|00020a10| 69 6e 74 66 28 22 25 73 | 20 22 2c 74 72 61 63 65 |intf("%s| ",trace|
|00020a20| 66 69 6c 65 29 3b 0a 0a | 09 20 73 70 72 69 6e 74 |file);..|. sprint|
|00020a30| 66 28 74 6d 70 2c 22 25 | 73 5c 6e 22 2c 74 72 61 |f(tmp,"%|s\n",tra|
|00020a40| 63 65 66 69 6c 65 29 3b | 0a 09 20 74 6d 70 20 2b |cefile);|.. tmp +|
|00020a50| 3d 20 73 74 72 6c 65 6e | 28 74 6d 70 29 3b 0a 0a |= strlen|(tmp);..|
|00020a60| 20 20 20 20 20 20 20 20 | 20 63 6f 6e 74 69 6e 75 | | continu|
|00020a70| 65 3b 0a 20 20 20 20 20 | 20 7d 0a 0a 20 20 20 20 |e;. | }.. |
|00020a80| 20 20 69 66 20 28 73 74 | 72 63 61 73 65 63 6d 70 | if (st|rcasecmp|
|00020a90| 28 63 6f 64 65 2c 20 22 | 4f 42 54 41 49 4e 2d 42 |(code, "|OBTAIN-B|
|00020aa0| 43 43 22 29 20 3d 3d 20 | 30 29 20 0a 20 20 20 20 |CC") == |0) . |
|00020ab0| 20 20 7b 0a 09 20 73 74 | 72 63 70 79 28 74 6d 70 | {.. st|rcpy(tmp|
|00020ac0| 2c 22 6f 62 74 61 69 6e | 2d 62 63 63 20 22 29 3b |,"obtain|-bcc ");|
|00020ad0| 0a 09 20 74 6d 70 20 2b | 3d 20 73 74 72 6c 65 6e |.. tmp +|= strlen|
|00020ae0| 28 74 6d 70 29 3b 0a 0a | 20 20 20 20 20 20 20 20 |(tmp);..| |
|00020af0| 20 69 66 20 28 62 63 63 | 5f 73 72 76 5f 63 6e 74 | if (bcc|_srv_cnt|
|00020b00| 20 3d 3d 20 4d 41 58 53 | 52 43 52 45 46 29 0a 20 | == MAXS|RCREF). |
|00020b10| 20 20 20 20 20 20 20 20 | 7b 0a 20 20 20 20 20 20 | |{. |
|00020b20| 20 20 20 20 20 20 70 72 | 69 6e 74 66 28 22 25 64 | pr|intf("%d|
|00020b30| 20 69 73 20 74 68 65 20 | 6d 61 78 69 6d 75 6d 20 | is the |maximum |
|00020b40| 6e 75 6d 62 65 72 20 6f | 66 20 4f 42 54 41 49 4e |number o|f OBTAIN|
|00020b50| 2d 42 43 43 20 72 65 66 | 6c 65 63 74 6f 72 73 20 |-BCC ref|lectors |
|00020b60| 61 6c 6c 6f 77 65 64 5c | 6e 22 2c 4d 41 58 53 52 |allowed\|n",MAXSR|
|00020b70| 43 52 45 46 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |CREF);. | |
|00020b80| 20 20 20 65 78 69 74 28 | 2d 31 29 3b 0a 20 20 20 | exit(|-1);. |
|00020b90| 20 20 20 20 20 20 7d 0a | 0a 20 20 20 20 20 20 20 | }.|. |
|00020ba0| 20 20 69 66 20 28 28 63 | 6e 74 20 3d 20 66 73 63 | if ((c|nt = fsc|
|00020bb0| 61 6e 66 28 63 6f 6e 66 | 5f 66 64 2c 20 22 25 69 |anf(conf|_fd, "%i|
|00020bc0| 2e 25 69 2e 25 69 2e 25 | 69 22 2c 26 68 62 2c 26 |.%i.%i.%|i",&hb,&|
|00020bd0| 6d 68 2c 26 6d 6c 2c 26 | 6c 62 29 29 20 21 3d 20 |mh,&ml,&|lb)) != |
|00020be0| 34 29 0a 09 20 7b 0a 20 | 20 20 20 20 20 20 20 20 |4).. {. | |
|00020bf0| 20 20 20 70 72 69 6e 74 | 66 20 28 22 4f 42 54 41 | print|f ("OBTA|
|00020c00| 49 4e 2d 42 43 43 20 70 | 61 72 61 6d 61 74 65 72 |IN-BCC p|aramater|
|00020c10| 20 63 6f 75 6e 74 20 65 | 72 72 6f 72 5c 6e 22 29 | count e|rror\n")|
|00020c20| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 65 78 |;. | ex|
|00020c30| 69 74 28 2d 31 29 3b 0a | 20 20 20 20 20 20 20 20 |it(-1);.| |
|00020c40| 20 7d 0a 0a 20 20 20 20 | 20 20 20 20 20 70 72 69 | }.. | pri|
|00020c50| 6e 74 66 28 22 25 64 2e | 25 64 2e 25 64 2e 25 64 |ntf("%d.|%d.%d.%d|
|00020c60| 20 22 2c 68 62 2c 6d 68 | 2c 6d 6c 2c 6c 62 29 3b | ",hb,mh|,ml,lb);|
|00020c70| 0a 20 20 20 20 20 20 20 | 20 20 73 70 72 69 6e 74 |. | sprint|
|00020c80| 66 28 62 75 66 2c 22 25 | 64 2e 25 64 2e 25 64 2e |f(buf,"%|d.%d.%d.|
|00020c90| 25 64 20 22 2c 68 62 2c | 6d 68 2c 6d 6c 2c 6c 62 |%d ",hb,|mh,ml,lb|
|00020ca0| 29 3b 0a 09 20 0a 20 20 | 20 20 20 20 20 20 20 73 |);.. . | s|
|00020cb0| 70 72 69 6e 74 66 28 74 | 6d 70 2c 22 25 64 2e 25 |printf(t|mp,"%d.%|
|00020cc0| 64 2e 25 64 2e 25 64 5c | 6e 22 2c 68 62 2c 6d 68 |d.%d.%d\|n",hb,mh|
|00020cd0| 2c 6d 6c 2c 6c 62 29 3b | 0a 09 20 74 6d 70 20 2b |,ml,lb);|.. tmp +|
|00020ce0| 3d 20 73 74 72 6c 65 6e | 28 74 6d 70 29 3b 0a 0a |= strlen|(tmp);..|
|00020cf0| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 28 62 63 | | if ((bc|
|00020d00| 63 5f 73 65 72 76 65 72 | 5f 6c 69 73 74 5b 62 63 |c_server|_list[bc|
|00020d10| 63 5f 73 72 76 5f 63 6e | 74 2b 2b 5d 20 3d 20 69 |c_srv_cn|t++] = i|
|00020d20| 6e 65 74 5f 61 64 64 72 | 28 62 75 66 29 29 20 3d |net_addr|(buf)) =|
|00020d30| 3d 20 2d 31 29 0a 20 20 | 20 20 20 20 20 20 20 7b |= -1). | {|
|00020d40| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 70 72 69 |. | pri|
|00020d50| 6e 74 66 28 22 69 6e 65 | 74 5f 61 64 64 72 3a 20 |ntf("ine|t_addr: |
|00020d60| 62 61 64 20 4f 42 54 41 | 49 4e 2d 42 43 43 20 61 |bad OBTA|IN-BCC a|
|00020d70| 64 64 72 65 73 73 5c 6e | 22 29 3b 0a 20 20 20 20 |ddress\n|");. |
|00020d80| 20 20 20 20 20 20 20 20 | 65 78 69 74 28 2d 31 29 | |exit(-1)|
|00020d90| 3b 0a 20 20 20 20 20 20 | 20 20 20 7d 0a 0a 20 20 |;. | }.. |
|00020da0| 20 20 20 20 20 20 20 63 | 6f 6e 74 69 6e 75 65 3b | c|ontinue;|
|00020db0| 0a 20 20 20 20 20 20 7d | 0a 0a 20 20 20 20 20 20 |. }|.. |
|00020dc0| 69 66 20 28 73 74 72 63 | 61 73 65 63 6d 70 28 63 |if (strc|asecmp(c|
|00020dd0| 6f 64 65 2c 20 22 41 44 | 4d 49 54 2d 42 43 43 2d |ode, "AD|MIT-BCC-|
|00020de0| 43 4c 49 45 4e 54 22 29 | 20 3d 3d 20 30 29 20 0a |CLIENT")| == 0) .|
|00020df0| 20 20 20 20 20 20 7b 0a | 09 20 73 74 72 63 70 79 | {.|. strcpy|
|00020e00| 28 74 6d 70 2c 22 61 64 | 6d 69 74 2d 62 63 63 2d |(tmp,"ad|mit-bcc-|
|00020e10| 63 6c 69 65 6e 74 20 22 | 29 3b 0a 09 20 74 6d 70 |client "|);.. tmp|
|00020e20| 20 2b 3d 20 73 74 72 6c | 65 6e 28 74 6d 70 29 3b | += strl|en(tmp);|
|00020e30| 0a 0a 20 20 20 20 20 20 | 20 20 20 69 66 20 28 62 |.. | if (b|
|00020e40| 63 63 5f 63 6c 74 5f 63 | 6e 74 20 3d 3d 20 4d 41 |cc_clt_c|nt == MA|
|00020e50| 58 53 52 43 52 45 46 29 | 0a 20 20 20 20 20 20 20 |XSRCREF)|. |
|00020e60| 20 20 7b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00020e70| 70 72 69 6e 74 66 28 22 | 25 64 20 69 73 20 74 68 |printf("|%d is th|
|00020e80| 65 20 6d 61 78 69 6d 75 | 6d 20 6e 75 6d 62 65 72 |e maximu|m number|
|00020e90| 20 6f 66 20 41 44 4d 49 | 54 2d 42 43 43 2d 43 4c | of ADMI|T-BCC-CL|
|00020ea0| 49 45 4e 54 20 72 65 66 | 6c 65 63 74 6f 72 73 20 |IENT ref|lectors |
|00020eb0| 61 6c 6c 6f 77 65 64 5c | 6e 22 2c 4d 41 58 53 52 |allowed\|n",MAXSR|
|00020ec0| 43 52 45 46 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |CREF);. | |
|00020ed0| 20 20 20 65 78 69 74 28 | 2d 31 29 3b 0a 20 20 20 | exit(|-1);. |
|00020ee0| 20 20 20 20 20 20 7d 0a | 0a 20 20 20 20 20 20 20 | }.|. |
|00020ef0| 20 20 69 66 20 28 28 63 | 6e 74 20 3d 20 66 73 63 | if ((c|nt = fsc|
|00020f00| 61 6e 66 28 63 6f 6e 66 | 5f 66 64 2c 20 22 25 69 |anf(conf|_fd, "%i|
|00020f10| 2e 25 69 2e 25 69 2e 25 | 69 22 2c 26 68 62 2c 26 |.%i.%i.%|i",&hb,&|
|00020f20| 6d 68 2c 26 6d 6c 2c 26 | 6c 62 29 29 20 21 3d 20 |mh,&ml,&|lb)) != |
|00020f30| 34 29 0a 09 20 7b 0a 20 | 20 20 20 20 20 20 20 20 |4).. {. | |
|00020f40| 20 20 20 70 72 69 6e 74 | 66 20 28 22 41 44 4d 49 | print|f ("ADMI|
|00020f50| 54 2d 42 43 43 2d 43 4c | 49 45 4e 54 20 70 61 72 |T-BCC-CL|IENT par|
|00020f60| 61 6d 61 74 65 72 20 63 | 6f 75 6e 74 20 65 72 72 |amater c|ount err|
|00020f70| 6f 72 5c 6e 22 29 3b 0a | 20 20 20 20 20 20 20 20 |or\n");.| |
|00020f80| 20 20 20 20 65 78 69 74 | 28 2d 31 29 3b 0a 20 20 | exit|(-1);. |
|00020f90| 20 20 20 20 20 20 20 7d | 0a 0a 20 20 20 20 20 20 | }|.. |
|00020fa0| 20 20 20 70 72 69 6e 74 | 66 28 22 25 64 2e 25 64 | print|f("%d.%d|
|00020fb0| 2e 25 64 2e 25 64 20 22 | 2c 68 62 2c 6d 68 2c 6d |.%d.%d "|,hb,mh,m|
|00020fc0| 6c 2c 6c 62 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |l,lb);. | |
|00020fd0| 73 70 72 69 6e 74 66 28 | 62 75 66 2c 22 25 64 2e |sprintf(|buf,"%d.|
|00020fe0| 25 64 2e 25 64 2e 25 64 | 20 22 2c 68 62 2c 6d 68 |%d.%d.%d| ",hb,mh|
|00020ff0| 2c 6d 6c 2c 6c 62 29 3b | 0a 0a 20 20 20 20 20 20 |,ml,lb);|.. |
|00021000| 20 20 20 73 70 72 69 6e | 74 66 28 74 6d 70 2c 22 | sprin|tf(tmp,"|
|00021010| 25 64 2e 25 64 2e 25 64 | 2e 25 64 5c 6e 22 2c 68 |%d.%d.%d|.%d\n",h|
|00021020| 62 2c 6d 68 2c 6d 6c 2c | 6c 62 29 3b 0a 09 20 74 |b,mh,ml,|lb);.. t|
|00021030| 6d 70 20 2b 3d 20 73 74 | 72 6c 65 6e 28 74 6d 70 |mp += st|rlen(tmp|
|00021040| 29 3b 0a 0a 20 20 20 20 | 20 20 20 20 20 69 66 20 |);.. | if |
|00021050| 28 28 62 63 63 5f 63 6c | 69 65 6e 74 5f 6c 69 73 |((bcc_cl|ient_lis|
|00021060| 74 5b 62 63 63 5f 63 6c | 74 5f 63 6e 74 2b 2b 5d |t[bcc_cl|t_cnt++]|
|00021070| 20 3d 20 69 6e 65 74 5f | 61 64 64 72 28 62 75 66 | = inet_|addr(buf|
|00021080| 29 29 20 3d 3d 20 2d 31 | 29 0a 20 20 20 20 20 20 |)) == -1|). |
|00021090| 20 20 20 7b 0a 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|000210a0| 20 70 72 69 6e 74 66 28 | 22 69 6e 65 74 5f 61 64 | printf(|"inet_ad|
|000210b0| 64 72 3a 20 62 61 64 20 | 41 44 4d 49 54 2d 42 43 |dr: bad |ADMIT-BC|
|000210c0| 43 2d 43 4c 49 45 4e 54 | 20 61 64 64 72 65 73 73 |C-CLIENT| address|
|000210d0| 5c 6e 22 29 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |\n");. | |
|000210e0| 20 20 65 78 69 74 28 2d | 31 29 3b 0a 20 20 20 20 | exit(-|1);. |
|000210f0| 20 20 20 20 20 7d 0a 20 | 20 20 20 20 20 20 20 20 | }. | |
|00021100| 63 6f 6e 74 69 6e 75 65 | 3b 0a 20 20 20 20 20 20 |continue|;. |
|00021110| 7d 0a 0a 20 20 20 20 20 | 20 69 66 20 28 73 74 72 |}.. | if (str|
|00021120| 63 61 73 65 63 6d 70 28 | 63 6f 64 65 2c 20 22 55 |casecmp(|code, "U|
|00021130| 4e 49 43 41 53 54 2d 52 | 45 46 22 29 20 3d 3d 20 |NICAST-R|EF") == |
|00021140| 30 29 20 0a 20 20 20 20 | 20 20 7b 0a 09 20 73 74 |0) . | {.. st|
|00021150| 72 63 70 79 28 74 6d 70 | 2c 22 75 6e 69 63 61 73 |rcpy(tmp|,"unicas|
|00021160| 74 2d 72 65 66 20 22 29 | 3b 0a 09 20 74 6d 70 20 |t-ref ")|;.. tmp |
|00021170| 2b 3d 20 73 74 72 6c 65 | 6e 28 74 6d 70 29 3b 0a |+= strle|n(tmp);.|
|00021180| 0a 20 20 20 20 20 20 20 | 20 20 69 66 20 28 72 65 |. | if (re|
|00021190| 66 5f 75 63 61 73 74 5f | 63 6e 74 20 3d 3d 20 4d |f_ucast_|cnt == M|
|000211a0| 41 58 53 52 43 52 45 46 | 29 0a 20 20 20 20 20 20 |AXSRCREF|). |
|000211b0| 20 20 20 7b 0a 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|000211c0| 20 70 72 69 6e 74 66 28 | 22 25 64 20 69 73 20 74 | printf(|"%d is t|
|000211d0| 68 65 20 6d 61 78 69 6d | 75 6d 20 6e 75 6d 62 65 |he maxim|um numbe|
|000211e0| 72 20 6f 66 20 55 4e 49 | 43 41 53 54 2d 52 45 46 |r of UNI|CAST-REF|
|000211f0| 20 72 65 66 6c 65 63 74 | 6f 72 73 20 61 6c 6c 6f | reflect|ors allo|
|00021200| 77 65 64 5c 6e 22 2c 4d | 41 58 53 52 43 52 45 46 |wed\n",M|AXSRCREF|
|00021210| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 65 |);. | e|
|00021220| 78 69 74 28 2d 31 29 3b | 0a 20 20 20 20 20 20 20 |xit(-1);|. |
|00021230| 20 20 7d 0a 0a 20 20 20 | 20 20 20 20 20 20 69 66 | }.. | if|
|00021240| 20 28 28 63 6e 74 20 3d | 20 66 73 63 61 6e 66 28 | ((cnt =| fscanf(|
|00021250| 63 6f 6e 66 5f 66 64 2c | 20 22 25 69 2e 25 69 2e |conf_fd,| "%i.%i.|
|00021260| 25 69 2e 25 69 22 2c 26 | 68 62 2c 26 6d 68 2c 26 |%i.%i",&|hb,&mh,&|
|00021270| 6d 6c 2c 26 6c 62 29 29 | 20 21 3d 20 34 29 0a 09 |ml,&lb))| != 4)..|
|00021280| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 70 | {. | p|
|00021290| 72 69 6e 74 66 20 28 22 | 55 4e 49 43 41 53 54 2d |rintf ("|UNICAST-|
|000212a0| 52 45 46 20 70 61 72 61 | 6d 61 74 65 72 20 63 6f |REF para|mater co|
|000212b0| 75 6e 74 20 65 72 72 6f | 72 5c 6e 22 29 3b 0a 20 |unt erro|r\n");. |
|000212c0| 20 20 20 20 20 20 20 20 | 20 20 20 65 78 69 74 28 | | exit(|
|000212d0| 2d 31 29 3b 0a 20 20 20 | 20 20 20 20 20 20 7d 0a |-1);. | }.|
|000212e0| 0a 20 20 20 20 20 20 20 | 20 20 70 72 69 6e 74 66 |. | printf|
|000212f0| 28 22 25 64 2e 25 64 2e | 25 64 2e 25 64 20 22 2c |("%d.%d.|%d.%d ",|
|00021300| 68 62 2c 6d 68 2c 6d 6c | 2c 6c 62 29 3b 0a 20 20 |hb,mh,ml|,lb);. |
|00021310| 20 20 20 20 20 20 20 73 | 70 72 69 6e 74 66 28 62 | s|printf(b|
|00021320| 75 66 2c 22 25 64 2e 25 | 64 2e 25 64 2e 25 64 20 |uf,"%d.%|d.%d.%d |
|00021330| 22 2c 68 62 2c 6d 68 2c | 6d 6c 2c 6c 62 29 3b 0a |",hb,mh,|ml,lb);.|
|00021340| 09 20 0a 20 20 20 20 20 | 20 20 20 20 73 70 72 69 |. . | spri|
|00021350| 6e 74 66 28 74 6d 70 2c | 22 25 64 2e 25 64 2e 25 |ntf(tmp,|"%d.%d.%|
|00021360| 64 2e 25 64 5c 6e 22 2c | 68 62 2c 6d 68 2c 6d 6c |d.%d\n",|hb,mh,ml|
|00021370| 2c 6c 62 29 3b 0a 09 20 | 74 6d 70 20 2b 3d 20 73 |,lb);.. |tmp += s|
|00021380| 74 72 6c 65 6e 28 74 6d | 70 29 3b 0a 0a 20 20 20 |trlen(tm|p);.. |
|00021390| 20 20 20 20 20 20 69 66 | 20 28 28 72 65 66 5f 75 | if| ((ref_u|
|000213a0| 63 61 73 74 5f 6c 69 73 | 74 5b 72 65 66 5f 75 63 |cast_lis|t[ref_uc|
|000213b0| 61 73 74 5f 63 6e 74 2b | 2b 5d 20 3d 20 69 6e 65 |ast_cnt+|+] = ine|
|000213c0| 74 5f 61 64 64 72 28 62 | 75 66 29 29 20 3d 3d 20 |t_addr(b|uf)) == |
|000213d0| 2d 31 29 0a 20 20 20 20 | 20 20 20 20 20 7b 0a 20 |-1). | {. |
|000213e0| 20 20 20 20 20 20 20 20 | 20 20 20 70 72 69 6e 74 | | print|
|000213f0| 66 28 22 69 6e 65 74 5f | 61 64 64 72 3a 20 62 61 |f("inet_|addr: ba|
|00021400| 64 20 55 4e 49 43 41 53 | 54 2d 52 45 46 20 61 64 |d UNICAS|T-REF ad|
|00021410| 64 72 65 73 73 5c 6e 22 | 29 3b 0a 20 20 20 20 20 |dress\n"|);. |
|00021420| 20 20 20 20 20 20 20 65 | 78 69 74 28 2d 31 29 3b | e|xit(-1);|
|00021430| 0a 20 20 20 20 20 20 20 | 20 20 7d 0a 0a 20 20 20 |. | }.. |
|00021440| 20 20 20 20 20 20 63 6f | 6e 74 69 6e 75 65 3b 0a | co|ntinue;.|
|00021450| 20 20 20 20 20 20 7d 0a | 0a 20 20 20 20 20 20 69 | }.|. i|
|00021460| 66 20 28 73 74 72 63 61 | 73 65 63 6d 70 28 63 6f |f (strca|secmp(co|
|00021470| 64 65 2c 20 22 4d 41 56 | 45 4e 22 29 20 3d 3d 20 |de, "MAV|EN") == |
|00021480| 30 29 20 0a 20 20 20 20 | 20 20 7b 0a 09 20 73 74 |0) . | {.. st|
|00021490| 72 63 70 79 28 74 6d 70 | 2c 22 6d 61 76 65 6e 20 |rcpy(tmp|,"maven |
|000214a0| 22 29 3b 0a 09 20 74 6d | 70 20 2b 3d 20 73 74 72 |");.. tm|p += str|
|000214b0| 6c 65 6e 28 74 6d 70 29 | 3b 0a 0a 20 20 20 20 20 |len(tmp)|;.. |
|000214c0| 20 20 20 20 69 66 20 28 | 28 63 6e 74 20 3d 20 66 | if (|(cnt = f|
|000214d0| 73 63 61 6e 66 28 63 6f | 6e 66 5f 66 64 2c 20 22 |scanf(co|nf_fd, "|
|000214e0| 20 25 69 22 2c 20 26 6d | 61 76 65 6e 5f 70 6f 72 | %i", &m|aven_por|
|000214f0| 74 29 29 20 21 3d 20 31 | 29 0a 09 20 7b 0a 20 20 |t)) != 1|).. {. |
|00021500| 20 20 20 20 20 20 20 20 | 20 20 70 72 69 6e 74 66 | | printf|
|00021510| 20 28 22 4d 41 56 45 4e | 20 70 61 72 61 6d 61 74 | ("MAVEN| paramat|
|00021520| 65 72 20 63 6f 75 6e 74 | 20 65 72 72 6f 72 5c 6e |er count| error\n|
|00021530| 22 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |");. | |
|00021540| 65 78 69 74 28 2d 31 29 | 3b 0a 20 20 20 20 20 20 |exit(-1)|;. |
|00021550| 20 20 20 7d 0a 0a 20 20 | 20 20 20 20 20 20 20 70 | }.. | p|
|00021560| 72 69 6e 74 66 28 22 25 | 64 20 22 2c 6d 61 76 65 |rintf("%|d ",mave|
|00021570| 6e 5f 70 6f 72 74 29 3b | 0a 20 20 20 20 20 20 20 |n_port);|. |
|00021580| 20 20 73 70 72 69 6e 74 | 66 28 62 75 66 2c 22 25 | sprint|f(buf,"%|
|00021590| 64 20 22 2c 6d 61 76 65 | 6e 5f 70 6f 72 74 29 3b |d ",mave|n_port);|
|000215a0| 0a 0a 20 20 20 20 20 20 | 20 20 20 73 70 72 69 6e |.. | sprin|
|000215b0| 74 66 28 74 6d 70 2c 22 | 25 64 5c 6e 22 2c 6d 61 |tf(tmp,"|%d\n",ma|
|000215c0| 76 65 6e 5f 70 6f 72 74 | 29 3b 0a 09 20 74 6d 70 |ven_port|);.. tmp|
|000215d0| 20 2b 3d 20 73 74 72 6c | 65 6e 28 74 6d 70 29 3b | += strl|en(tmp);|
|000215e0| 0a 0a 20 20 20 20 20 20 | 20 20 20 63 6f 6e 74 69 |.. | conti|
|000215f0| 6e 75 65 3b 0a 20 20 20 | 20 20 20 7d 0a 0a 20 20 |nue;. | }.. |
|00021600| 20 20 20 20 69 66 20 28 | 73 74 72 63 61 73 65 63 | if (|strcasec|
|00021610| 6d 70 28 63 6f 64 65 2c | 20 22 4c 4f 47 2d 4c 49 |mp(code,| "LOG-LI|
|00021620| 4d 49 54 22 29 20 3d 3d | 20 30 29 20 0a 20 20 20 |MIT") ==| 0) . |
|00021630| 20 20 20 7b 0a 09 20 73 | 74 72 63 70 79 28 74 6d | {.. s|trcpy(tm|
|00021640| 70 2c 22 6c 6f 67 2d 6c | 69 6d 69 74 20 22 29 3b |p,"log-l|imit ");|
|00021650| 0a 09 20 74 6d 70 20 2b | 3d 20 73 74 72 6c 65 6e |.. tmp +|= strlen|
|00021660| 28 74 6d 70 29 3b 0a 0a | 20 20 20 20 20 20 20 20 |(tmp);..| |
|00021670| 20 69 66 20 28 28 63 6e | 74 20 3d 20 66 73 63 61 | if ((cn|t = fsca|
|00021680| 6e 66 28 63 6f 6e 66 5f | 66 64 2c 20 22 20 25 69 |nf(conf_|fd, " %i|
|00021690| 22 2c 20 26 6c 6f 67 5f | 6c 69 6d 69 74 29 29 20 |", &log_|limit)) |
|000216a0| 21 3d 20 31 29 0a 09 20 | 7b 0a 20 20 20 20 20 20 |!= 1).. |{. |
|000216b0| 20 20 20 20 20 20 70 72 | 69 6e 74 66 20 28 22 4c | pr|intf ("L|
|000216c0| 4f 47 2d 4c 49 4d 49 54 | 20 70 61 72 61 6d 61 74 |OG-LIMIT| paramat|
|000216d0| 65 72 20 63 6f 75 6e 74 | 20 65 72 72 6f 72 5c 6e |er count| error\n|
|000216e0| 22 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |");. | |
|000216f0| 65 78 69 74 28 2d 31 29 | 3b 0a 20 20 20 20 20 20 |exit(-1)|;. |
|00021700| 20 20 20 7d 0a 0a 20 20 | 20 20 20 20 20 20 20 70 | }.. | p|
|00021710| 72 69 6e 74 66 28 22 25 | 64 20 22 2c 6c 6f 67 5f |rintf("%|d ",log_|
|00021720| 6c 69 6d 69 74 29 3b 0a | 20 20 20 20 20 20 20 20 |limit);.| |
|00021730| 20 73 70 72 69 6e 74 66 | 28 62 75 66 2c 22 25 64 | sprintf|(buf,"%d|
|00021740| 20 22 2c 6c 6f 67 5f 6c | 69 6d 69 74 29 3b 0a 0a | ",log_l|imit);..|
|00021750| 20 20 20 20 20 20 20 20 | 20 73 70 72 69 6e 74 66 | | sprintf|
|00021760| 28 74 6d 70 2c 22 25 64 | 5c 6e 22 2c 6c 6f 67 5f |(tmp,"%d|\n",log_|
|00021770| 6c 69 6d 69 74 29 3b 0a | 09 20 74 6d 70 20 2b 3d |limit);.|. tmp +=|
|00021780| 20 73 74 72 6c 65 6e 28 | 74 6d 70 29 3b 0a 0a 20 | strlen(|tmp);.. |
|00021790| 20 20 20 20 20 20 20 20 | 63 6f 6e 74 69 6e 75 65 | |continue|
|000217a0| 3b 0a 20 20 20 20 20 20 | 7d 0a 0a 20 20 20 20 20 |;. |}.. |
|000217b0| 20 69 66 20 28 73 74 72 | 63 61 73 65 63 6d 70 28 | if (str|casecmp(|
|000217c0| 63 6f 64 65 2c 20 22 43 | 4f 4e 46 2d 4d 47 52 22 |code, "C|ONF-MGR"|
|000217d0| 29 20 3d 3d 20 30 29 20 | 0a 20 20 20 20 20 20 7b |) == 0) |. {|
|000217e0| 0a 20 20 20 20 20 20 20 | 20 20 73 74 72 63 70 79 |. | strcpy|
|000217f0| 28 74 6d 70 2c 20 22 63 | 6f 6e 66 2d 6d 67 72 20 |(tmp, "c|onf-mgr |
|00021800| 22 29 3b 0a 20 20 20 20 | 20 20 20 20 20 74 6d 70 |");. | tmp|
|00021810| 20 2b 3d 20 73 74 72 6c | 65 6e 28 74 6d 70 29 3b | += strl|en(tmp);|
|00021820| 0a 0a 20 20 20 20 20 20 | 20 20 20 69 66 20 28 28 |.. | if ((|
|00021830| 63 6e 74 20 3d 20 66 73 | 63 61 6e 66 28 63 6f 6e |cnt = fs|canf(con|
|00021840| 66 5f 66 64 2c 20 22 25 | 69 2e 25 69 2e 25 69 2e |f_fd, "%|i.%i.%i.|
|00021850| 25 69 22 2c 20 26 68 62 | 2c 26 6d 68 2c 26 6d 6c |%i", &hb|,&mh,&ml|
|00021860| 2c 26 6c 62 29 29 20 21 | 3d 20 34 29 0a 09 20 7b |,&lb)) !|= 4).. {|
|00021870| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 70 72 69 |. | pri|
|00021880| 6e 74 66 28 22 43 4f 4e | 46 2d 4d 47 52 20 70 61 |ntf("CON|F-MGR pa|
|00021890| 72 61 6d 65 74 65 72 20 | 63 6f 75 6e 74 20 65 72 |rameter |count er|
|000218a0| 72 6f 72 5c 6e 22 29 3b | 0a 20 20 20 20 20 20 20 |ror\n");|. |
|000218b0| 20 20 20 20 20 65 78 69 | 74 28 2d 31 29 3b 0a 20 | exi|t(-1);. |
|000218c0| 20 20 20 20 20 20 20 20 | 20 7d 0a 0a 20 20 20 20 | | }.. |
|000218d0| 20 20 20 20 20 20 70 72 | 69 6e 74 66 28 22 25 64 | pr|intf("%d|
|000218e0| 2e 25 64 2e 25 64 2e 25 | 64 20 22 2c 68 62 2c 6d |.%d.%d.%|d ",hb,m|
|000218f0| 68 2c 6d 6c 2c 6c 62 29 | 3b 0a 20 20 20 20 20 20 |h,ml,lb)|;. |
|00021900| 20 20 20 20 73 70 72 69 | 6e 74 66 28 62 75 66 2c | spri|ntf(buf,|
|00021910| 20 22 25 64 2e 25 64 2e | 25 64 2e 25 64 20 22 2c | "%d.%d.|%d.%d ",|
|00021920| 68 62 2c 6d 68 2c 6d 6c | 2c 6c 62 29 3b 0a 0a 20 |hb,mh,ml|,lb);.. |
|00021930| 20 20 20 20 20 20 20 20 | 20 73 70 72 69 6e 74 66 | | sprintf|
|00021940| 28 74 6d 70 2c 20 22 25 | 64 2e 25 64 2e 25 64 2e |(tmp, "%|d.%d.%d.|
|00021950| 25 64 5c 6e 22 2c 68 62 | 2c 6d 68 2c 6d 6c 2c 6c |%d\n",hb|,mh,ml,l|
|00021960| 62 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 74 6d |b);. | tm|
|00021970| 70 20 2b 3d 20 73 74 72 | 6c 65 6e 28 74 6d 70 29 |p += str|len(tmp)|
|00021980| 3b 0a 0a 20 20 20 20 20 | 20 20 20 20 20 69 66 20 |;.. | if |
|00021990| 28 28 67 6f 64 5f 69 70 | 20 3d 20 69 6e 65 74 5f |((god_ip| = inet_|
|000219a0| 61 64 64 72 28 62 75 66 | 29 29 20 3d 3d 20 2d 31 |addr(buf|)) == -1|
|000219b0| 29 0a 09 20 20 7b 0a 20 | 20 20 20 20 20 20 20 20 |).. {. | |
|000219c0| 20 20 20 70 72 69 6e 74 | 66 28 22 69 6e 65 74 5f | print|f("inet_|
|000219d0| 61 64 64 72 3a 20 62 61 | 64 20 43 4f 4e 46 2d 4d |addr: ba|d CONF-M|
|000219e0| 47 52 20 61 64 64 72 65 | 73 73 5c 6e 22 29 3b 0a |GR addre|ss\n");.|
|000219f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 65 78 69 74 | | exit|
|00021a00| 28 2d 31 29 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |(-1);. | |
|00021a10| 7d 0a 0a 20 20 20 20 20 | 20 20 20 20 20 63 6f 6e |}.. | con|
|00021a20| 74 69 6e 75 65 3b 0a 20 | 20 20 20 20 20 20 7d 0a |tinue;. | }.|
|00021a30| 0a 0a 0a 0a 20 20 20 20 | 20 20 69 66 20 28 73 74 |.... | if (st|
|00021a40| 72 63 61 73 65 63 6d 70 | 28 63 6f 64 65 2c 20 22 |rcasecmp|(code, "|
|00021a50| 4d 4f 54 44 22 29 20 3d | 3d 20 30 29 20 0a 20 20 |MOTD") =|= 0) . |
|00021a60| 20 20 20 20 7b 0a 09 20 | 73 74 72 63 70 79 28 74 | {.. |strcpy(t|
|00021a70| 6d 70 2c 22 6d 6f 74 64 | 20 5c 6e 22 29 3b 0a 09 |mp,"motd| \n");..|
|00021a80| 20 74 6d 70 20 2b 3d 20 | 73 74 72 6c 65 6e 28 74 | tmp += |strlen(t|
|00021a90| 6d 70 29 3b 0a 0a 20 20 | 20 20 20 20 20 20 20 73 |mp);.. | s|
|00021aa0| 74 61 74 75 73 20 3d 20 | 73 63 61 6e 5f 73 74 72 |tatus = |scan_str|
|00021ab0| 28 6d 6f 74 64 5f 62 75 | 66 2c 4d 4f 54 44 42 55 |(motd_bu|f,MOTDBU|
|00021ac0| 46 29 3b 0a 0a 20 20 20 | 20 20 20 20 20 20 69 66 |F);.. | if|
|00021ad0| 20 28 73 74 61 74 75 73 | 20 3d 3d 20 2d 31 29 0a | (status| == -1).|
|00021ae0| 20 20 20 20 20 20 20 20 | 20 7b 0a 20 20 20 20 20 | | {. |
|00021af0| 20 20 20 20 20 20 20 70 | 72 69 6e 74 66 20 28 22 | p|rintf ("|
|00021b00| 4d 4f 54 44 20 6d 65 73 | 73 61 67 65 20 64 6f 65 |MOTD mes|sage doe|
|00021b10| 73 20 6e 6f 74 20 65 6e | 64 20 77 69 74 68 20 2f |s not en|d with /|
|00021b20| 2f 20 5c 6e 22 29 3b 0a | 20 20 20 20 20 20 20 20 |/ \n");.| |
|00021b30| 20 20 20 20 65 78 69 74 | 28 2d 31 29 3b 0a 20 20 | exit|(-1);. |
|00021b40| 20 20 20 20 20 20 20 7d | 0a 0a 20 20 20 20 20 20 | }|.. |
|00021b50| 20 20 20 69 66 20 28 73 | 74 61 74 75 73 20 3d 3d | if (s|tatus ==|
|00021b60| 20 2d 32 29 0a 20 20 20 | 20 20 20 20 20 20 7b 0a | -2). | {.|
|00021b70| 20 20 20 20 20 20 20 20 | 20 20 20 20 70 72 69 6e | | prin|
|00021b80| 74 66 20 28 22 6d 61 78 | 69 6d 75 6d 20 4d 4f 54 |tf ("max|imum MOT|
|00021b90| 44 20 6d 65 73 73 61 67 | 65 20 6c 65 6e 67 74 68 |D messag|e length|
|00021ba0| 20 73 20 25 64 5c 6e 22 | 2c 4d 4f 54 44 42 55 46 | s %d\n"|,MOTDBUF|
|00021bb0| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 65 |);. | e|
|00021bc0| 78 69 74 28 2d 31 29 3b | 0a 20 20 20 20 20 20 20 |xit(-1);|. |
|00021bd0| 20 20 7d 0a 0a 20 20 20 | 20 20 20 20 20 20 73 70 | }.. | sp|
|00021be0| 72 69 6e 74 66 28 74 6d | 70 2c 22 25 73 5c 6e 22 |rintf(tm|p,"%s\n"|
|00021bf0| 2c 6d 6f 74 64 5f 62 75 | 66 29 3b 0a 20 20 20 20 |,motd_bu|f);. |
|00021c00| 20 20 20 20 20 6d 6f 74 | 64 5f 6c 65 6e 20 3d 20 | mot|d_len = |
|00021c10| 73 74 72 6c 65 6e 28 6d | 6f 74 64 5f 62 75 66 29 |strlen(m|otd_buf)|
|00021c20| 3b 0a 09 20 74 6d 70 20 | 2b 3d 20 6d 6f 74 64 5f |;.. tmp |+= motd_|
|00021c30| 6c 65 6e 3b 0a 0a 09 20 | 63 6f 6e 74 69 6e 75 65 |len;... |continue|
|00021c40| 3b 0a 20 20 20 20 20 20 | 7d 0a 0a 20 20 20 20 20 |;. |}.. |
|00021c50| 20 70 72 69 6e 74 66 20 | 28 22 43 6f 6e 66 69 67 | printf |("Config|
|00021c60| 75 72 61 74 69 6f 6e 20 | 66 69 6c 65 20 69 73 20 |uration |file is |
|00021c70| 64 61 6d 61 67 65 64 3a | 20 42 61 64 20 43 4f 44 |damaged:| Bad COD|
|00021c80| 45 20 76 61 6c 75 65 20 | 6c 69 6e 65 20 25 64 5c |E value |line %d\|
|00021c90| 6e 22 2c 63 6c 69 6e 63 | 6e 74 29 3b 0a 20 20 20 |n",clinc|nt);. |
|00021ca0| 20 20 20 65 78 69 74 28 | 2d 31 29 3b 0a 20 20 20 | exit(|-1);. |
|00021cb0| 7d 0a 20 20 20 70 72 69 | 6e 74 66 28 22 5c 6e 22 |}. pri|ntf("\n"|
|00021cc0| 29 3b 0a 20 20 20 66 66 | 6c 75 73 68 28 73 74 64 |);. ff|lush(std|
|00021cd0| 6f 75 74 29 3b 0a 20 20 | 20 63 6c 6f 73 65 28 63 |out);. | close(c|
|00021ce0| 6f 6e 66 5f 66 64 29 3b | 0a 7d 0a 0a 0a 73 68 6f |onf_fd);|.}...sho|
|00021cf0| 72 74 20 73 63 61 6e 5f | 73 74 72 28 62 75 66 2c |rt scan_|str(buf,|
|00021d00| 6d 61 78 6c 65 6e 29 0a | 20 20 20 63 68 61 72 20 |maxlen).| char |
|00021d10| 2a 62 75 66 3b 0a 20 20 | 20 73 68 6f 72 74 20 6d |*buf;. | short m|
|00021d20| 61 78 6c 65 6e 3b 0a 7b | 0a 20 20 20 73 68 6f 72 |axlen;.{|. shor|
|00021d30| 74 20 20 20 20 20 20 20 | 20 20 20 6c 65 6e 3b 0a |t | len;.|
|00021d40| 20 20 20 63 68 61 72 20 | 20 20 20 20 20 20 20 20 | char | |
|00021d50| 20 20 63 2c 63 31 2c 63 | 32 3b 0a 0a 20 20 20 6c | c,c1,c|2;.. l|
|00021d60| 65 6e 20 3d 20 30 3b 0a | 0a 20 20 20 77 68 69 6c |en = 0;.|. whil|
|00021d70| 65 20 28 31 29 0a 20 20 | 20 7b 0a 20 20 20 20 20 |e (1). | {. |
|00021d80| 20 69 66 20 28 28 63 20 | 3d 20 66 67 65 74 63 28 | if ((c |= fgetc(|
|00021d90| 63 6f 6e 66 5f 66 64 29 | 29 20 3d 3d 20 45 4f 46 |conf_fd)|) == EOF|
|00021da0| 29 0a 20 20 20 20 20 20 | 20 20 20 72 65 74 75 72 |). | retur|
|00021db0| 6e 28 2d 31 29 3b 0a 0a | 20 20 20 20 20 20 69 66 |n(-1);..| if|
|00021dc0| 20 28 28 63 20 3d 3d 20 | 27 5c 6e 27 29 20 7c 7c | ((c == |'\n') |||
|00021dd0| 20 28 63 20 3d 3d 20 27 | 5c 72 27 29 29 0a 20 20 | (c == '|\r')). |
|00021de0| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 20 20 69 | {. | i|
|00021df0| 66 20 28 28 63 31 20 3d | 20 66 67 65 74 63 28 63 |f ((c1 =| fgetc(c|
|00021e00| 6f 6e 66 5f 66 64 29 29 | 20 3d 3d 20 45 4f 46 29 |onf_fd))| == EOF)|
|00021e10| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 72 65 74 |. | ret|
|00021e20| 75 72 6e 28 2d 31 29 3b | 0a 0a 20 20 20 20 20 20 |urn(-1);|.. |
|00021e30| 20 20 20 69 66 20 28 63 | 31 20 3d 3d 20 27 2f 27 | if (c|1 == '/'|
|00021e40| 29 0a 20 20 20 20 20 20 | 20 20 20 7b 0a 20 20 20 |). | {. |
|00021e50| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 28 63 32 | | if ((c2|
|00021e60| 20 3d 20 66 67 65 74 63 | 28 63 6f 6e 66 5f 66 64 | = fgetc|(conf_fd|
|00021e70| 29 29 20 3d 3d 20 45 4f | 46 29 0a 20 20 20 20 20 |)) == EO|F). |
|00021e80| 20 20 20 20 20 20 20 20 | 20 20 72 65 74 75 72 6e | | return|
|00021e90| 28 2d 31 29 3b 0a 0a 20 | 20 20 20 20 20 20 20 20 |(-1);.. | |
|00021ea0| 20 20 20 69 66 20 28 63 | 32 20 3d 3d 20 27 2f 27 | if (c|2 == '/'|
|00021eb0| 29 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |). | |
|00021ec0| 20 72 65 74 75 72 6e 28 | 30 29 3b 0a 0a 20 20 20 | return(|0);.. |
|00021ed0| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 28 6c 65 | | if ((le|
|00021ee0| 6e 20 3d 20 6c 65 6e 2b | 33 29 20 3e 3d 20 6d 61 |n = len+|3) >= ma|
|00021ef0| 78 6c 65 6e 29 0a 20 20 | 20 20 20 20 20 20 20 20 |xlen). | |
|00021f00| 20 20 20 20 20 72 65 74 | 75 72 6e 28 2d 32 29 3b | ret|urn(-2);|
|00021f10| 0a 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 2a 62 |.. | *b|
|00021f20| 75 66 2b 2b 20 3d 20 63 | 3b 0a 20 20 20 20 20 20 |uf++ = c|;. |
|00021f30| 20 20 20 20 20 20 70 72 | 69 6e 74 66 28 22 25 63 | pr|intf("%c|
|00021f40| 22 2c 63 29 3b 0a 20 20 | 20 0a 20 20 20 20 20 20 |",c);. | . |
|00021f50| 20 20 20 20 20 20 2a 62 | 75 66 2b 2b 20 3d 20 63 | *b|uf++ = c|
|00021f60| 31 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 70 |1;. | p|
|00021f70| 72 69 6e 74 66 28 22 25 | 63 22 2c 63 31 29 3b 0a |rintf("%|c",c1);.|
|00021f80| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 2a 62 75 |. | *bu|
|00021f90| 66 2b 2b 20 3d 20 63 32 | 3b 0a 20 20 20 20 20 20 |f++ = c2|;. |
|00021fa0| 20 20 20 20 20 20 70 72 | 69 6e 74 66 28 22 25 63 | pr|intf("%c|
|00021fb0| 22 2c 63 32 29 3b 0a 09 | 20 7d 0a 09 20 65 6c 73 |",c2);..| }.. els|
|00021fc0| 65 0a 09 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 |e.. {. | |
|00021fd0| 20 20 69 66 20 28 28 6c | 65 6e 20 3d 20 6c 65 6e | if ((l|en = len|
|00021fe0| 2b 32 29 20 3e 3d 20 6d | 61 78 6c 65 6e 29 0a 20 |+2) >= m|axlen). |
|00021ff0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 72 65 | | re|
|00022000| 74 75 72 6e 28 2d 32 29 | 3b 20 0a 0a 20 20 20 20 |turn(-2)|; .. |
|00022010| 20 20 20 20 20 20 20 20 | 2a 62 75 66 2b 2b 20 3d | |*buf++ =|
|00022020| 20 63 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | c;. | |
|00022030| 70 72 69 6e 74 66 28 22 | 25 63 22 2c 63 29 3b 0a |printf("|%c",c);.|
|00022040| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 2a 62 75 |. | *bu|
|00022050| 66 2b 2b 20 3d 20 63 31 | 3b 0a 20 20 20 20 20 20 |f++ = c1|;. |
|00022060| 20 20 20 20 20 20 70 72 | 69 6e 74 66 28 22 25 63 | pr|intf("%c|
|00022070| 22 2c 63 31 29 3b 0a 09 | 20 7d 0a 20 20 20 20 20 |",c1);..| }. |
|00022080| 20 7d 0a 20 20 20 20 20 | 20 65 6c 73 65 0a 20 20 | }. | else. |
|00022090| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 20 20 69 | {. | i|
|000220a0| 66 20 28 28 6c 65 6e 20 | 3d 20 6c 65 6e 2b 31 29 |f ((len |= len+1)|
|000220b0| 20 3e 3d 20 6d 61 78 6c | 65 6e 29 0a 20 20 20 20 | >= maxl|en). |
|000220c0| 20 20 20 20 20 20 20 20 | 72 65 74 75 72 6e 28 2d | |return(-|
|000220d0| 32 29 3b 0a 0a 20 20 20 | 20 20 20 20 20 20 2a 62 |2);.. | *b|
|000220e0| 75 66 2b 2b 20 3d 20 63 | 3b 0a 20 20 20 20 20 20 |uf++ = c|;. |
|000220f0| 20 20 20 70 72 69 6e 74 | 66 28 22 25 63 22 2c 63 | print|f("%c",c|
|00022100| 29 3b 0a 20 20 20 20 20 | 20 7d 0a 20 20 20 7d 0a |);. | }. }.|
|00022110| 7d 0a 20 20 20 20 20 20 | 20 20 20 69 66 20 28 28 |}. | if ((|
|00022120| 63 6e 74 20 3d 20 66 73 | 63 61 6e 66 28 63 6f 6e |cnt = fs|canf(con|
|00022130| 66 5f 66 64 2c 20 22 25 | 69 2e 25 69 2e 25 69 2e |f_fd, "%|i.%i.%i.|
|00022140| 25 69 22 2c 26 68 62 2c | 26 6d 68 2c 26 6d 6c 2c |%i",&hb,|&mh,&ml,|
|00022150| 26 6c 62 29 29 20 21 3d | 20 34 29 0a 09 20 7b 0a |&lb)) !=| 4).. {.|
|00022160| 20 20 20 20 20 20 20 20 | 20 20 20 20 70 72 69 6e | | prin|
|00022170| 74 66 20 28 22 52 45 46 | 4d 4f 4e 20 70 61 72 61 |tf ("REF|MON para|
|00022180| 6d 61 74 65 72 20 63 6f | 75 6e 74 20 65 72 72 6f |mater co|unt erro|
|00022190| 72 5c 6e 22 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |r\n");. | |
|000221a0| 20 20 20 65 78 69 74 28 | 2d 31 29 3b 0a 20 20 20 | exit(|-1);. |
|000221b0| 20 20 20 20 20 20 7d 0a | 20 20 20 20 20 20 20 20 | }.| |
|000221c0| 20 70 72 69 6e 74 66 28 | 22 25 64 2e 25 64 2e 25 | printf(|"%d.%d.%|
|000221d0| 64 2e 25 64 20 22 2c 68 | 62 2c 6d 68 2c 6d 6c 2c |d.%d ",h|b,mh,ml,|
|000221e0| 6c 62 29 3b 0a 20 20 20 | 20 20 20 20 20 20 73 70 |lb);. | sp|
|000221f0| 72 69 6e 74 66 28 62 75 | 66 2c 22 25 64 2e 25 64 |rintf(bu|f,"%d.%d|
|00022200| 32 2e 33 30 62 31 2f 52 | 45 41 44 4d 45 00 00 00 |2.30b1/R|EADME...|
|00022210| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00022220| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00022230| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00022240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00022250| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00022260| 00 00 00 00 31 30 30 36 | 34 34 20 00 30 30 30 30 |....1006|44 .0000|
|00022270| 30 36 20 00 30 30 30 30 | 30 30 20 00 30 30 30 30 |06 .0000|00 .0000|
|00022280| 30 30 33 34 37 31 31 20 | 30 35 36 31 31 35 33 31 |0034711 |05611531|
|00022290| 35 36 37 20 30 31 33 31 | 30 35 00 20 30 00 00 00 |567 0131|05. 0...|
|000222a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000222b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000222c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000222d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000222e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000222f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00022300| 00 75 73 74 61 72 00 30 | 30 6c 79 6e 6e 00 00 00 |.ustar.0|0lynn...|
|00022310| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00022320| 00 00 00 00 00 00 00 00 | 00 73 79 73 74 65 6d 00 |........|.system.|
|00022330| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00022340| 00 00 00 00 00 00 00 00 | 00 30 30 30 30 30 30 20 |........|.000000 |
|00022350| 00 30 30 30 30 30 30 20 | 00 00 00 00 00 00 00 00 |.000000 |........|
|00022360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00022370| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00022380| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00022390| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000223a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000223b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000223c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000223d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000223e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000223f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00022400| 43 6f 72 6e 65 6c 6c 20 | 52 65 66 6c 65 63 74 6f |Cornell |Reflecto|
|00022410| 72 20 56 65 72 73 69 6f | 6e 20 32 2e 33 30 42 31 |r Versio|n 2.30B1|
|00022420| 0a 0a 54 68 69 73 20 69 | 73 20 61 20 42 45 54 41 |..This i|s a BETA|
|00022430| 20 76 65 72 73 69 6f 6e | 20 6f 66 20 74 68 65 20 | version| of the |
|00022440| 6e 65 77 65 73 74 20 72 | 65 6c 65 61 73 65 20 6f |newest r|elease o|
|00022450| 66 20 74 68 65 20 43 55 | 2d 53 65 65 4d 65 0a 72 |f the CU|-SeeMe.r|
|00022460| 65 66 6c 65 63 74 6f 72 | 20 70 72 6f 67 72 61 6d |eflector| program|
|00022470| 2e 20 20 45 78 70 65 63 | 74 20 66 75 74 75 72 65 |. Expec|t future|
|00022480| 20 63 68 61 6e 67 65 73 | 2c 20 70 61 72 74 69 63 | changes|, partic|
|00022490| 75 6c 61 72 6c 79 20 69 | 6e 20 74 68 65 20 0a 61 |ularly i|n the .a|
|000224a0| 72 65 61 20 6f 66 20 74 | 68 65 20 63 6f 6e 66 69 |rea of t|he confi|
|000224b0| 67 75 72 61 74 69 6f 6e | 2c 20 62 65 66 6f 72 65 |guration|, before|
|000224c0| 20 61 20 66 69 6e 61 6c | 20 76 65 72 73 69 6f 6e | a final| version|
|000224d0| 20 69 73 20 72 65 6c 65 | 61 73 65 64 2e 20 20 0a | is rele|ased. .|
|000224e0| 54 68 65 72 65 20 61 72 | 65 20 6e 75 6d 65 72 6f |There ar|e numero|
|000224f0| 75 73 20 63 68 61 6e 67 | 65 73 20 62 65 74 77 65 |us chang|es betwe|
|00022500| 65 6e 20 74 68 69 73 20 | 76 65 72 73 69 6f 6e 20 |en this |version |
|00022510| 61 6e 64 20 76 65 72 73 | 69 6f 6e 20 2e 39 35 2c |and vers|ion .95,|
|00022520| 20 0a 72 65 6c 65 61 73 | 65 64 20 69 6e 20 4a 75 | .releas|ed in Ju|
|00022530| 6e 65 20 6f 66 20 31 39 | 39 33 2e 20 20 54 68 69 |ne of 19|93. Thi|
|00022540| 73 20 76 65 72 73 69 6f | 6e 20 6f 66 20 43 55 2d |s versio|n of CU-|
|00022550| 53 65 65 4d 65 20 52 65 | 66 6c 65 63 74 6f 72 20 |SeeMe Re|flector |
|00022560| 0a 73 6f 66 74 77 61 72 | 65 20 63 61 6e 20 62 65 |.softwar|e can be|
|00022570| 20 75 73 65 64 20 74 6f | 20 22 74 69 65 20 74 6f | used to| "tie to|
|00022580| 67 65 74 68 65 72 22 20 | 74 77 6f 20 6f 72 20 6d |gether" |two or m|
|00022590| 6f 72 65 20 72 65 66 6c | 65 63 74 6f 72 73 2e 20 |ore refl|ectors. |
|000225a0| 20 0a 54 68 69 73 20 66 | 65 61 74 75 72 65 20 61 | .This f|eature a|
|000225b0| 6c 6c 6f 77 73 20 6d 6f | 72 65 20 65 66 66 69 63 |llows mo|re effic|
|000225c0| 69 65 6e 74 20 75 73 65 | 20 6f 66 20 6e 65 74 77 |ient use| of netw|
|000225d0| 6f 72 6b 20 62 61 6e 64 | 77 69 64 74 68 2c 0a 77 |ork band|width,.w|
|000225e0| 69 74 68 20 65 61 63 68 | 20 67 72 6f 75 70 20 63 |ith each| group c|
|000225f0| 6f 6e 6e 65 63 74 65 64 | 20 74 6f 20 74 68 65 69 |onnected| to thei|
|00022600| 72 20 6c 6f 63 61 6c 20 | 72 65 66 6c 65 63 74 6f |r local |reflecto|
|00022610| 72 20 61 6e 64 20 6c 6f | 63 61 6c 20 0a 72 65 66 |r and lo|cal .ref|
|00022620| 6c 65 63 74 6f 72 73 20 | 63 6f 6e 6e 65 63 74 65 |lectors |connecte|
|00022630| 64 20 69 6e 20 61 20 22 | 6e 65 74 22 2c 20 61 6c |d in a "|net", al|
|00022640| 6c 6f 77 69 6e 67 20 62 | 72 6f 61 64 65 72 20 70 |lowing b|roader p|
|00022650| 61 72 74 69 63 69 70 61 | 74 69 6f 6e 20 0a 61 6e |articipa|tion .an|
|00022660| 64 20 68 69 67 68 65 72 | 20 71 75 61 6c 69 74 79 |d higher| quality|
|00022670| 20 76 69 64 65 6f 20 61 | 74 20 65 61 63 68 20 72 | video a|t each r|
|00022680| 65 66 6c 65 63 74 6f 72 | 20 73 69 74 65 2e 20 20 |eflector| site. |
|00022690| 0a 0a 50 4c 45 41 53 45 | 20 4e 4f 54 45 3a 20 54 |..PLEASE| NOTE: T|
|000226a0| 68 65 20 63 75 72 72 65 | 6e 74 20 76 65 72 73 69 |he curre|nt versi|
|000226b0| 6f 6e 20 6f 66 20 74 68 | 65 20 72 65 66 6c 65 63 |on of th|e reflec|
|000226c0| 74 6f 72 20 73 6f 66 74 | 77 61 72 65 20 0a 61 6c |tor soft|ware .al|
|000226d0| 6c 6f 77 73 20 6e 76 20 | 74 6f 20 64 69 73 70 6c |lows nv |to displ|
|000226e0| 61 79 20 43 55 2d 53 65 | 65 4d 65 20 76 69 64 65 |ay CU-Se|eMe vide|
|000226f0| 6f 2c 20 62 75 74 20 43 | 55 2d 53 65 65 4d 65 20 |o, but C|U-SeeMe |
|00022700| 63 61 6e 6e 6f 74 0a 64 | 69 73 70 6c 61 79 20 6e |cannot.d|isplay n|
|00022710| 76 20 76 69 64 65 6f 2e | 20 20 54 68 69 73 20 68 |v video.| This h|
|00022720| 61 73 20 62 65 65 6e 20 | 61 6e 20 6f 6e 67 6f 69 |as been |an ongoi|
|00022730| 6e 67 20 70 6f 69 6e 74 | 20 6f 66 20 0a 63 6f 6e |ng point| of .con|
|00022740| 66 75 73 69 6f 6e 2e 0a | 0a 49 66 20 79 6f 75 20 |fusion..|.If you |
|00022750| 61 72 65 20 63 6f 6d 70 | 69 6c 69 6e 67 20 74 68 |are comp|iling th|
|00022760| 69 73 20 63 6f 64 65 20 | 6f 6e 20 61 20 6d 61 63 |is code |on a mac|
|00022770| 68 69 6e 65 20 77 69 74 | 68 6f 75 74 20 61 20 6d |hine wit|hout a m|
|00022780| 75 6c 74 69 63 61 73 74 | 0a 6b 65 72 6e 65 6c 2c |ulticast|.kernel,|
|00022790| 20 79 6f 75 20 77 69 6c | 6c 20 68 61 76 65 20 74 | you wil|l have t|
|000227a0| 6f 20 72 65 6d 6f 76 65 | 20 74 68 65 20 2d 44 4d |o remove| the -DM|
|000227b0| 55 4c 54 49 20 64 65 66 | 69 6e 69 74 69 6f 6e 20 |ULTI def|inition |
|000227c0| 66 72 6f 6d 0a 74 68 65 | 20 6d 61 6b 65 66 69 6c |from.the| makefil|
|000227d0| 65 2e 20 20 0a 0a 49 66 | 20 79 6f 75 20 61 72 65 |e. ..If| you are|
|000227e0| 20 63 6f 6e 6e 65 63 74 | 69 6e 67 20 72 65 66 6c | connect|ing refl|
|000227f0| 65 63 74 6f 72 73 20 74 | 6f 67 65 74 68 65 72 2c |ectors t|ogether,|
|00022800| 20 6d 61 6b 65 20 73 75 | 72 65 20 74 68 61 74 20 | make su|re that |
|00022810| 61 6c 6c 0a 74 68 65 20 | 72 65 66 6c 65 63 74 6f |all.the |reflecto|
|00022820| 72 73 20 61 72 65 20 75 | 73 69 6e 67 20 74 68 65 |rs are u|sing the|
|00022830| 20 73 61 6d 65 20 76 65 | 72 73 69 6f 6e 2e 0a 0a | same ve|rsion...|
|00022840| 42 75 67 20 72 65 70 6f | 72 74 73 20 61 6e 64 20 |Bug repo|rts and |
|00022850| 6f 72 20 67 65 6e 65 72 | 61 6c 20 63 6f 6d 6d 65 |or gener|al comme|
|00022860| 6e 74 73 20 63 61 6e 20 | 65 69 74 68 65 72 20 62 |nts can |either b|
|00022870| 65 20 73 65 6e 74 20 74 | 6f 20 74 68 65 0a 43 55 |e sent t|o the.CU|
|00022880| 2d 53 65 65 4d 65 20 62 | 75 67 20 6c 69 73 74 20 |-SeeMe b|ug list |
|00022890| 61 74 20 63 75 2d 73 65 | 65 6d 65 2d 62 75 67 73 |at cu-se|eme-bugs|
|000228a0| 40 63 6f 72 6e 65 6c 6c | 2e 65 64 75 2c 20 6f 72 |@cornell|.edu, or|
|000228b0| 20 64 69 72 65 63 74 6c | 79 20 0a 74 6f 20 6d 65 | directl|y .to me|
|000228c0| 2c 20 4a 6f 68 6e 20 4c | 79 6e 6e 2c 20 61 74 20 |, John L|ynn, at |
|000228d0| 6a 61 6c 37 40 63 6f 72 | 6e 65 6c 6c 2e 65 64 75 |jal7@cor|nell.edu|
|000228e0| 2e 0a 0a 52 65 66 6c 65 | 63 74 6f 72 20 4f 70 65 |...Refle|ctor Ope|
|000228f0| 72 61 74 69 6f 6e 0a 0a | 54 68 65 20 72 65 66 6c |ration..|The refl|
|00022900| 65 63 74 6f 72 20 69 73 | 20 73 74 61 72 74 65 64 |ector is| started|
|00022910| 20 77 69 74 68 20 61 20 | 73 69 6e 67 6c 65 20 6f | with a |single o|
|00022920| 70 74 69 6f 6e 61 6c 20 | 70 61 72 61 6d 65 74 65 |ptional |paramete|
|00022930| 72 2c 20 74 68 65 20 0a | 63 6f 6e 66 69 67 75 72 |r, the .|configur|
|00022940| 61 74 69 6f 6e 20 66 69 | 6c 65 20 6e 61 6d 65 2e |ation fi|le name.|
|00022950| 20 20 49 66 20 6e 6f 20 | 63 6f 6e 66 69 67 75 72 | If no |configur|
|00022960| 61 74 69 6f 6e 20 66 69 | 6c 65 20 69 73 20 73 70 |ation fi|le is sp|
|00022970| 65 63 69 66 69 65 64 2c | 20 74 68 65 20 0a 72 65 |ecified,| the .re|
|00022980| 66 6c 65 63 74 6f 72 20 | 74 72 69 65 73 20 74 6f |flector |tries to|
|00022990| 20 6f 70 65 6e 20 74 68 | 65 20 64 65 66 61 75 6c | open th|e defaul|
|000229a0| 74 20 63 6f 6e 66 69 67 | 75 72 61 74 69 6f 6e 20 |t config|uration |
|000229b0| 66 69 6c 65 20 63 61 6c | 6c 65 64 20 0a 72 65 66 |file cal|led .ref|
|000229c0| 6c 65 63 74 2e 63 6f 6e | 66 2e 20 20 49 66 20 74 |lect.con|f. If t|
|000229d0| 68 61 74 20 66 69 6c 65 | 20 69 73 20 6e 6f 74 20 |hat file| is not |
|000229e0| 66 6f 75 6e 64 2c 20 74 | 68 65 6e 20 6e 6f 20 63 |found, t|hen no c|
|000229f0| 6f 6e 66 69 67 75 72 61 | 74 69 6f 6e 20 0a 69 6e |onfigura|tion .in|
|00022a00| 66 6f 72 6d 61 74 69 6f | 6e 20 69 73 20 73 70 65 |formatio|n is spe|
|00022a10| 63 69 66 69 65 64 20 61 | 6e 64 20 74 68 65 20 64 |cified a|nd the d|
|00022a20| 65 66 61 75 6c 74 20 76 | 61 6c 75 65 73 20 66 6f |efault v|alues fo|
|00022a30| 72 20 61 6c 6c 20 63 6f | 6e 66 69 67 75 72 61 74 |r all co|nfigurat|
|00022a40| 69 6f 6e 20 0a 70 61 72 | 61 6d 65 74 65 72 73 20 |ion .par|ameters |
|00022a50| 61 72 65 20 75 73 65 64 | 2e 20 20 54 68 65 20 63 |are used|. The c|
|00022a60| 6f 6e 66 69 67 75 72 61 | 74 69 6f 6e 20 66 69 6c |onfigura|tion fil|
|00022a70| 65 20 69 73 20 61 6e 20 | 41 53 43 49 49 20 74 65 |e is an |ASCII te|
|00022a80| 78 74 20 66 69 6c 65 2e | 20 20 0a 45 61 63 68 20 |xt file.| .Each |
|00022a90| 6c 69 6e 65 20 62 65 67 | 69 6e 73 20 77 69 74 68 |line beg|ins with|
|00022aa0| 20 61 20 6b 65 79 77 6f | 72 64 20 77 68 69 63 68 | a keywo|rd which|
|00022ab0| 20 73 70 65 63 69 66 69 | 65 73 20 74 68 65 20 70 | specifi|es the p|
|00022ac0| 61 72 61 6d 65 74 65 72 | 20 20 0a 63 6f 6e 66 69 |arameter| .confi|
|00022ad0| 67 75 72 65 64 2c 20 73 | 6f 6d 65 20 6f 66 20 74 |gured, s|ome of t|
|00022ae0| 68 65 20 6b 65 79 77 6f | 72 64 73 20 61 72 65 20 |he keywo|rds are |
|00022af0| 66 6f 6c 6c 6f 77 65 64 | 20 62 79 20 61 72 67 75 |followed| by argu|
|00022b00| 6d 65 6e 74 73 20 0a 74 | 68 61 74 20 73 70 65 63 |ments .t|hat spec|
|00022b10| 69 66 79 20 74 68 65 20 | 76 61 6c 75 65 28 73 29 |ify the |value(s)|
|00022b20| 20 66 6f 72 20 74 68 61 | 74 20 63 6f 6e 66 69 67 | for tha|t config|
|00022b30| 75 72 61 74 69 6f 6e 20 | 70 61 72 61 6d 65 74 65 |uration |paramete|
|00022b40| 72 2e 20 20 41 6e 79 20 | 6c 69 6e 65 20 0a 77 68 |r. Any |line .wh|
|00022b50| 69 63 68 20 62 65 67 69 | 6e 73 20 77 69 74 68 20 |ich begi|ns with |
|00022b60| 61 20 73 65 6d 69 63 6f | 6c 6f 6e 20 28 3b 29 20 |a semico|lon (;) |
|00022b70| 69 73 20 61 20 63 6f 6d | 6d 65 6e 74 20 6c 69 6e |is a com|ment lin|
|00022b80| 65 20 61 6e 64 20 69 73 | 20 69 67 6e 6f 72 65 64 |e and is| ignored|
|00022b90| 20 62 79 20 0a 74 68 65 | 20 72 65 66 6c 65 63 74 | by .the| reflect|
|00022ba0| 6f 72 2e 0a 0a 54 68 65 | 20 66 6f 6c 6c 6f 77 69 |or...The| followi|
|00022bb0| 6e 67 20 61 72 65 20 74 | 68 65 20 63 6f 6e 66 69 |ng are t|he confi|
|00022bc0| 67 75 72 61 74 69 6f 6e | 20 6b 65 79 77 6f 72 64 |guration| keyword|
|00022bd0| 73 20 61 6e 64 20 74 68 | 65 69 72 20 70 61 72 61 |s and th|eir para|
|00022be0| 6d 65 74 65 72 73 20 0a | 69 66 20 61 6e 79 20 65 |meters .|if any e|
|00022bf0| 78 69 73 74 2e 0a 0a 44 | 45 42 55 47 0a 0a 53 70 |xist...D|EBUG..Sp|
|00022c00| 65 63 69 66 79 69 6e 67 | 20 44 45 42 55 47 20 63 |ecifying| DEBUG c|
|00022c10| 61 75 73 65 73 20 74 68 | 65 20 72 65 66 6c 65 63 |auses th|e reflec|
|00022c20| 74 6f 72 20 74 6f 20 70 | 72 69 6e 74 20 6f 75 74 |tor to p|rint out|
|00022c30| 20 61 20 6c 61 72 67 65 | 20 61 6d 6f 75 6e 74 20 | a large| amount |
|00022c40| 6f 66 20 0a 64 65 62 75 | 67 67 69 6e 67 20 69 6e |of .debu|gging in|
|00022c50| 66 6f 72 6d 61 74 69 6f | 6e 2e 20 20 54 68 69 73 |formatio|n. This|
|00022c60| 20 69 6e 66 6f 72 6d 61 | 74 69 6f 6e 20 69 73 20 | informa|tion is |
|00022c70| 70 72 6f 62 61 62 6c 79 | 20 6e 6f 74 20 70 61 72 |probably| not par|
|00022c80| 74 69 63 75 6c 61 72 6c | 79 20 0a 6d 65 61 6e 69 |ticularl|y .meani|
|00022c90| 6e 67 66 75 6c 20 74 6f | 20 61 6e 79 6f 6e 65 20 |ngful to| anyone |
|00022ca0| 62 75 74 20 74 68 65 20 | 72 65 66 6c 65 63 74 6f |but the |reflecto|
|00022cb0| 72 20 70 72 6f 67 72 61 | 6d 6d 65 72 20 61 6e 64 |r progra|mmer and|
|00022cc0| 20 77 69 6c 6c 20 73 6c | 6f 77 20 64 6f 77 6e 20 | will sl|ow down |
|00022cd0| 0a 74 68 65 20 6f 70 65 | 72 61 74 69 6f 6e 20 6f |.the ope|ration o|
|00022ce0| 66 20 74 68 65 20 72 65 | 66 6c 65 63 74 6f 72 2c |f the re|flector,|
|00022cf0| 20 73 6f 20 44 45 42 55 | 47 20 69 6e 20 67 65 6e | so DEBU|G in gen|
|00022d00| 65 72 61 6c 20 73 68 6f | 75 6c 64 20 6e 6f 74 20 |eral sho|uld not |
|00022d10| 62 65 20 61 64 64 65 64 | 20 0a 74 6f 20 74 68 65 |be added| .to the|
|00022d20| 20 63 6f 6e 66 69 67 75 | 72 61 74 69 6f 6e 2e 0a | configu|ration..|
|00022d30| 0a 0a 53 45 4c 46 2d 52 | 45 46 4c 45 43 54 0a 0a |..SELF-R|EFLECT..|
|00022d40| 53 45 4c 46 2d 52 45 46 | 4c 45 43 54 20 63 61 75 |SELF-REF|LECT cau|
|00022d50| 73 65 73 20 74 68 65 20 | 72 65 66 6c 65 63 74 6f |ses the |reflecto|
|00022d60| 72 20 74 6f 20 73 65 6e | 64 20 79 6f 75 72 20 6f |r to sen|d your o|
|00022d70| 77 6e 20 43 55 2d 53 65 | 65 4d 65 20 0a 73 74 72 |wn CU-Se|eMe .str|
|00022d80| 65 61 6d 20 62 61 63 6b | 20 74 6f 20 79 6f 75 2e |eam back| to you.|
|00022d90| 20 20 54 68 69 73 20 61 | 6c 73 6f 20 69 73 20 61 | This a|lso is a|
|00022da0| 20 73 6f 72 74 20 6f 66 | 20 64 65 62 75 67 67 69 | sort of| debuggi|
|00022db0| 6e 67 20 61 69 64 2c 20 | 61 6c 6c 6f 77 69 6e 67 |ng aid, |allowing|
|00022dc0| 20 0a 79 6f 75 20 74 6f | 20 6d 61 6b 65 20 73 75 | .you to| make su|
|00022dd0| 72 65 20 79 6f 75 72 20 | 72 65 66 6c 65 63 74 6f |re your |reflecto|
|00022de0| 72 20 69 73 20 75 70 20 | 61 6e 64 20 72 75 6e 6e |r is up |and runn|
|00022df0| 69 6e 67 2e 20 0a 0a 52 | 45 46 4d 4f 4e 20 69 70 |ing. ..R|EFMON ip|
|00022e00| 2d 61 64 64 72 0a 0a 52 | 45 46 4d 4f 4e 20 69 73 |-addr..R|EFMON is|
|00022e10| 20 75 73 65 64 20 74 6f | 20 73 70 65 63 69 66 79 | used to| specify|
|00022e20| 20 74 68 65 20 49 50 20 | 61 64 64 72 65 73 73 20 | the IP |address |
|00022e30| 6f 66 20 74 68 65 20 55 | 4e 49 58 20 77 6f 72 6b |of the U|NIX work|
|00022e40| 73 74 61 74 69 6f 6e 20 | 0a 74 68 61 74 20 69 73 |station |.that is|
|00022e50| 20 61 6c 6c 6f 77 65 64 | 20 74 6f 20 61 63 63 65 | allowed| to acce|
|00022e60| 73 73 20 74 68 65 20 72 | 65 66 6c 65 63 74 6f 72 |ss the r|eflector|
|00022e70| 20 75 73 69 6e 67 20 74 | 68 65 20 72 65 66 6d 6f | using t|he refmo|
|00022e80| 6e 20 61 70 70 6c 69 63 | 61 74 69 6f 6e 2e 20 20 |n applic|ation. |
|00022e90| 0a 49 66 20 6e 6f 20 52 | 45 46 4d 4f 4e 20 69 73 |.If no R|EFMON is|
|00022ea0| 20 73 70 65 63 69 66 69 | 65 64 20 69 6e 20 74 68 | specifi|ed in th|
|00022eb0| 65 20 63 6f 6e 66 69 67 | 75 72 61 74 69 6f 6e 2c |e config|uration,|
|00022ec0| 20 74 68 65 6e 20 61 20 | 72 65 66 6d 6f 6e 20 0a | then a |refmon .|
|00022ed0| 61 70 70 6c 69 63 61 74 | 69 6f 6e 20 72 75 6e 6e |applicat|ion runn|
|00022ee0| 69 6e 67 20 6f 6e 20 61 | 6e 79 20 77 6f 72 6b 73 |ing on a|ny works|
|00022ef0| 74 61 74 69 6f 6e 20 77 | 69 6c 6c 20 62 65 20 61 |tation w|ill be a|
|00022f00| 6c 6c 6f 77 65 64 20 61 | 63 63 65 73 73 20 74 6f |llowed a|ccess to|
|00022f10| 20 0a 79 6f 75 72 20 72 | 65 66 6c 65 63 74 6f 72 | .your r|eflector|
|00022f20| 2e 20 20 49 66 20 74 68 | 65 20 49 50 20 61 64 64 |. If th|e IP add|
|00022f30| 72 65 73 73 20 69 73 20 | 73 70 65 63 69 66 69 65 |ress is |specifie|
|00022f40| 64 20 61 73 20 30 2e 30 | 2e 30 2e 30 2c 20 74 68 |d as 0.0|.0.0, th|
|00022f50| 65 6e 20 6e 6f 20 0a 72 | 65 66 6d 6f 6e 20 61 6e |en no .r|efmon an|
|00022f60| 79 77 68 65 72 65 20 77 | 69 6c 6c 20 62 65 20 67 |ywhere w|ill be g|
|00022f70| 72 61 6e 74 65 64 20 61 | 63 63 65 73 73 2e 20 20 |ranted a|ccess. |
|00022f80| 54 68 65 20 72 65 66 6d | 6f 6e 20 61 70 70 6c 69 |The refm|on appli|
|00022f90| 63 61 74 69 6f 6e 20 69 | 73 20 0a 64 6f 63 75 6d |cation i|s .docum|
|00022fa0| 65 6e 74 65 64 20 6c 61 | 74 65 72 20 6f 6e 20 20 |ented la|ter on |
|00022fb0| 20 41 73 20 72 65 66 6d | 6f 6e 20 63 61 6e 20 62 | As refm|on can b|
|00022fc0| 65 20 75 73 65 64 20 74 | 6f 20 6b 69 6c 6c 20 74 |e used t|o kill t|
|00022fd0| 68 65 20 72 65 66 6c 65 | 63 74 6f 72 2c 20 69 74 |he refle|ctor, it|
|00022fe0| 27 73 20 0a 70 72 6f 62 | 61 62 6c 79 20 62 65 73 |'s .prob|ably bes|
|00022ff0| 74 20 74 6f 20 69 6e 63 | 6c 75 64 65 20 74 68 69 |t to inc|lude thi|
|00023000| 73 20 70 61 72 61 6d 65 | 74 65 72 20 69 6e 20 61 |s parame|ter in a|
|00023010| 6c 6c 20 63 6f 6e 66 69 | 67 75 72 61 74 69 6f 6e |ll confi|guration|
|00023020| 20 66 69 6c 65 73 2e 0a | 0a 43 4f 4e 46 2d 49 44 | files..|.CONF-ID|
|00023030| 20 63 6f 6e 66 65 72 65 | 6e 63 65 2d 69 64 20 6d | confere|nce-id m|
|00023040| 73 67 2d 73 74 72 69 6e | 67 0a 2f 2f 0a 0a 53 70 |sg-strin|g.//..Sp|
|00023050| 65 63 69 66 79 69 6e 67 | 20 43 4f 4e 46 2d 49 44 |ecifying| CONF-ID|
|00023060| 20 61 6c 6c 6f 77 73 20 | 79 6f 75 20 74 6f 20 68 | allows |you to h|
|00023070| 61 76 65 20 61 20 6d 65 | 61 73 75 72 65 20 6f 66 |ave a me|asure of|
|00023080| 20 70 72 69 76 61 63 79 | 20 6f 6e 20 61 0a 70 75 | privacy| on a.pu|
|00023090| 62 6c 69 63 20 72 65 66 | 6c 65 63 74 6f 72 2e 20 |blic ref|lector. |
|000230a0| 20 49 6e 20 61 6e 79 20 | 4d 61 63 20 76 65 72 73 | In any |Mac vers|
|000230b0| 69 6f 6e 20 6f 66 20 43 | 55 2d 53 65 65 4d 65 20 |ion of C|U-SeeMe |
|000230c0| 61 62 6f 76 65 20 30 2e | 37 30 20 6f 72 20 0a 61 |above 0.|70 or .a|
|000230d0| 6e 79 20 50 43 20 76 65 | 72 73 69 6f 6e 20 61 62 |ny PC ve|rsion ab|
|000230e0| 6f 76 65 20 30 2e 33 34 | 2c 20 74 68 65 20 61 70 |ove 0.34|, the ap|
|000230f0| 70 6c 69 63 61 74 69 6f | 6e 20 77 69 6c 6c 20 61 |plicatio|n will a|
|00023100| 6c 6c 6f 77 20 74 68 65 | 20 75 73 65 72 20 74 6f |llow the| user to|
|00023110| 20 0a 6f 70 74 69 6f 6e | 61 6c 6c 79 20 73 70 65 | .option|ally spe|
|00023120| 63 69 66 79 20 61 20 63 | 6f 6e 66 65 72 65 6e 63 |cify a c|onferenc|
|00023130| 65 20 69 64 20 77 68 65 | 6e 20 6f 70 65 6e 69 6e |e id whe|n openin|
|00023140| 67 20 61 20 63 6f 6e 6e | 65 63 74 69 6f 6e 2e 20 |g a conn|ection. |
|00023150| 20 54 68 65 20 0a 64 65 | 66 61 75 6c 74 20 63 6f | The .de|fault co|
|00023160| 6e 66 65 72 65 6e 63 65 | 20 69 64 20 69 73 20 30 |nference| id is 0|
|00023170| 20 77 68 69 63 68 20 69 | 73 20 61 6c 73 6f 20 74 | which i|s also t|
|00023180| 68 65 20 72 65 66 6c 65 | 63 74 6f 72 27 73 20 64 |he refle|ctor's d|
|00023190| 65 66 61 75 6c 74 20 0a | 63 6f 6e 66 65 72 65 6e |efault .|conferen|
|000231a0| 63 65 20 69 64 2e 20 20 | 57 68 65 6e 20 74 68 65 |ce id. |When the|
|000231b0| 20 72 65 66 6c 65 63 74 | 6f 72 20 69 73 20 63 6f | reflect|or is co|
|000231c0| 6e 66 69 67 75 72 65 64 | 2c 20 64 65 66 61 75 6c |nfigured|, defaul|
|000231d0| 74 65 64 2c 20 6f 72 20 | 73 65 74 20 0a 74 6f 20 |ted, or |set .to |
|000231e0| 7a 65 72 6f 20 61 6c 6c | 20 75 73 65 72 20 63 6f |zero all| user co|
|000231f0| 6e 66 69 67 75 72 61 74 | 69 6f 6e 20 49 44 27 73 |nfigurat|ion ID's|
|00023200| 20 61 72 65 20 61 63 63 | 65 70 74 65 64 2e 20 49 | are acc|epted. I|
|00023210| 66 20 74 68 65 20 72 65 | 66 6c 65 63 74 6f 72 20 |f the re|flector |
|00023220| 69 73 20 0a 63 6f 6e 66 | 69 67 75 72 65 64 20 77 |is .conf|igured w|
|00023230| 69 74 68 20 61 20 63 6f | 6e 66 65 72 65 6e 63 65 |ith a co|nference|
|00023240| 20 49 44 20 6f 74 68 65 | 72 20 74 68 65 6e 20 30 | ID othe|r then 0|
|00023250| 2c 20 74 68 65 6e 20 61 | 6e 79 20 69 6e 63 6f 6d |, then a|ny incom|
|00023260| 69 6e 67 20 43 55 2d 53 | 65 65 4d 65 20 0a 63 6f |ing CU-S|eeMe .co|
|00023270| 6e 66 65 72 65 6e 63 65 | 20 69 64 20 6d 75 73 74 |nference| id must|
|00023280| 20 6d 61 74 63 68 20 74 | 68 65 20 63 6f 6e 66 65 | match t|he confe|
|00023290| 72 65 6e 63 65 20 69 64 | 20 69 6e 20 74 68 65 20 |rence id| in the |
|000232a0| 72 65 66 6c 65 63 74 6f | 72 2e 20 20 49 66 20 74 |reflecto|r. If t|
|000232b0| 68 65 20 0a 63 6f 6e 66 | 65 72 65 6e 63 65 20 69 |he .conf|erence i|
|000232c0| 64 73 20 64 6f 20 6e 6f | 74 20 6d 61 74 63 68 2c |ds do no|t match,|
|000232d0| 20 74 68 65 6e 20 74 68 | 61 74 20 70 61 72 74 69 | then th|at parti|
|000232e0| 63 69 70 61 6e 74 20 69 | 73 20 6e 6f 74 20 61 64 |cipant i|s not ad|
|000232f0| 64 65 64 20 74 6f 20 74 | 68 65 20 0a 63 6f 6e 66 |ded to t|he .conf|
|00023300| 65 72 65 6e 63 65 2e 20 | 20 20 54 6f 20 68 61 76 |erence. | To hav|
|00023310| 65 20 61 20 70 72 69 76 | 61 74 65 20 63 6f 6e 66 |e a priv|ate conf|
|00023320| 65 72 65 6e 63 65 2c 20 | 77 69 74 68 6f 75 74 20 |erence, |without |
|00023330| 75 6e 69 6e 76 69 74 65 | 64 20 70 61 72 74 69 63 |uninvite|d partic|
|00023340| 69 70 61 6e 74 73 2c 20 | 0a 79 6f 75 20 77 6f 75 |ipants, |.you wou|
|00023350| 6c 64 20 70 69 63 6b 20 | 61 20 72 61 6e 64 6f 6d |ld pick |a random|
|00023360| 20 63 6f 6e 66 65 72 65 | 6e 63 65 20 69 64 2c 20 | confere|nce id, |
|00023370| 20 61 64 64 20 69 74 20 | 74 6f 20 74 68 65 20 63 | add it |to the c|
|00023380| 6f 6e 66 69 67 75 72 61 | 74 69 6f 6e 20 66 69 6c |onfigura|tion fil|
|00023390| 65 2c 20 0a 6d 61 6b 65 | 20 74 68 69 73 20 6e 75 |e, .make| this nu|
|000233a0| 6d 62 65 72 20 6b 6e 6f | 77 6e 20 74 6f 20 61 6c |mber kno|wn to al|
|000233b0| 6c 20 6f 66 20 79 6f 75 | 72 20 69 6e 76 69 74 65 |l of you|r invite|
|000233c0| 64 20 67 75 65 73 74 73 | 2c 20 61 6e 64 20 61 73 |d guests|, and as|
|000233d0| 6b 20 74 68 65 6d 20 74 | 6f 20 0a 73 70 65 63 69 |k them t|o .speci|
|000233e0| 66 79 20 74 68 69 73 20 | 63 6f 6e 66 65 72 65 6e |fy this |conferen|
|000233f0| 63 65 20 69 64 20 77 68 | 65 6e 20 63 6f 6e 6e 65 |ce id wh|en conne|
|00023400| 63 74 69 6e 67 20 74 6f | 20 74 68 65 20 72 65 66 |cting to| the ref|
|00023410| 6c 65 63 74 6f 72 2e 20 | 20 54 68 65 20 0a 63 6f |lector. | The .co|
|00023420| 6e 66 65 72 65 6e 63 65 | 20 69 64 20 69 73 20 69 |nference| id is i|
|00023430| 6e 20 74 68 65 20 72 61 | 6e 67 65 20 66 72 6f 6d |n the ra|nge from|
|00023440| 20 30 20 74 6f 20 36 35 | 35 33 36 2e 20 20 54 68 | 0 to 65|536. Th|
|00023450| 65 20 6d 73 67 20 73 74 | 72 69 6e 67 20 69 73 20 |e msg st|ring is |
|00023460| 61 6e 20 0a 61 73 63 69 | 69 20 73 74 72 69 6e 67 |an .asci|i string|
|00023470| 20 74 65 72 6d 69 6e 61 | 74 65 64 20 62 79 20 61 | termina|ted by a|
|00023480| 20 63 61 72 72 69 61 67 | 65 20 72 65 74 75 72 6e | carriag|e return|
|00023490| 20 66 6f 6c 6c 6f 77 65 | 64 20 62 79 20 74 77 6f | followe|d by two|
|000234a0| 20 62 61 63 6b 20 73 6c | 61 73 68 65 73 2e 0a 54 | back sl|ashes..T|
|000234b0| 68 69 73 20 69 73 20 74 | 68 65 20 73 74 72 69 6e |his is t|he strin|
|000234c0| 67 20 74 68 61 74 20 77 | 69 6c 6c 20 61 70 70 65 |g that w|ill appe|
|000234d0| 61 72 20 6f 6e 20 61 20 | 70 61 72 74 69 63 69 70 |ar on a |particip|
|000234e0| 61 6e 74 27 73 20 73 63 | 72 65 65 6e 20 69 66 20 |ant's sc|reen if |
|000234f0| 68 65 20 74 72 69 65 73 | 20 74 6f 0a 63 6f 6e 6e |he tries| to.conn|
|00023500| 65 63 74 20 77 69 74 68 | 20 74 68 65 20 77 72 6f |ect with| the wro|
|00023510| 6e 67 20 63 6f 6e 66 65 | 72 65 6e 63 65 20 49 44 |ng confe|rence ID|
|00023520| 2e 20 20 41 6c 73 6f 20 | 73 65 65 20 43 4f 4e 46 |. Also |see CONF|
|00023530| 2d 4d 47 52 20 62 65 6c | 6f 77 2e 0a 0a 43 4f 4e |-MGR bel|ow...CON|
|00023540| 46 2d 4d 47 52 20 69 70 | 2d 61 64 64 72 65 73 73 |F-MGR ip|-address|
|00023550| 0a 0a 54 68 65 20 43 4f | 4e 46 2d 4d 47 52 20 69 |..The CO|NF-MGR i|
|00023560| 70 20 61 64 64 72 65 73 | 73 2c 20 69 73 20 74 68 |p addres|s, is th|
|00023570| 65 20 69 70 20 61 64 64 | 72 65 73 73 20 6f 66 20 |e ip add|ress of |
|00023580| 61 20 70 61 72 74 69 63 | 69 70 61 6e 74 20 74 68 |a partic|ipant th|
|00023590| 61 74 20 69 73 0a 70 65 | 72 6d 69 74 74 65 64 20 |at is.pe|rmitted |
|000235a0| 74 6f 20 73 65 74 20 74 | 68 65 20 63 6f 6e 66 65 |to set t|he confe|
|000235b0| 72 65 6e 63 65 20 69 64 | 20 77 68 65 6e 20 68 65 |rence id| when he|
|000235c0| 20 63 6f 6e 6e 65 63 74 | 73 2e 20 20 54 68 69 73 | connect|s. This|
|000235d0| 20 61 6c 6c 6f 77 73 0a | 61 20 64 65 73 69 67 6e | allows.|a design|
|000235e0| 61 74 65 64 20 70 61 72 | 74 69 63 69 70 61 6e 74 |ated par|ticipant|
|000235f0| 20 74 6f 20 64 79 6e 61 | 6d 69 63 61 6c 6c 79 20 | to dyna|mically |
|00023600| 65 73 74 61 62 6c 69 73 | 68 20 61 20 72 65 73 74 |establis|h a rest|
|00023610| 72 69 63 74 65 64 20 63 | 6f 6e 66 65 72 65 6e 63 |ricted c|onferenc|
|00023620| 65 0a 77 69 74 68 6f 75 | 74 20 68 61 76 69 6e 67 |e.withou|t having|
|00023630| 20 74 6f 20 6d 61 6e 75 | 61 6c 6c 79 20 72 65 63 | to manu|ally rec|
|00023640| 6f 6e 66 69 67 75 72 65 | 20 74 68 65 20 72 65 66 |onfigure| the ref|
|00023650| 6c 65 63 74 6f 72 2e 20 | 20 57 68 65 6e 20 74 68 |lector. | When th|
|00023660| 65 20 63 6f 6e 66 65 72 | 65 6e 63 65 0a 67 6f 64 |e confer|ence.god|
|00023670| 20 63 6f 6e 6e 65 63 74 | 73 20 74 6f 20 61 20 72 | connect|s to a r|
|00023680| 65 66 6c 65 63 74 6f 72 | 20 68 65 20 63 61 6e 20 |eflector| he can |
|00023690| 73 70 65 63 69 66 79 20 | 61 20 6e 6f 6e 2d 7a 65 |specify |a non-ze|
|000236a0| 72 6f 20 63 6f 6e 66 65 | 72 65 6e 63 65 20 49 44 |ro confe|rence ID|
|000236b0| 20 6e 75 6d 62 65 72 2e | 20 20 0a 41 6c 6c 20 70 | number.| .All p|
|000236c0| 61 72 74 69 63 69 70 61 | 6e 74 73 20 63 75 72 72 |articipa|nts curr|
|000236d0| 65 6e 74 6c 79 20 63 6f | 6e 6e 65 63 74 65 64 20 |ently co|nnected |
|000236e0| 77 69 74 68 20 74 68 69 | 73 20 63 6f 72 72 65 63 |with thi|s correc|
|000236f0| 74 20 49 44 20 6e 75 6d | 62 65 72 20 77 69 6c 6c |t ID num|ber will|
|00023700| 20 72 65 6d 61 69 6e 0a | 63 6f 6e 6e 65 63 74 65 | remain.|connecte|
|00023710| 64 2e 20 20 41 6c 6c 20 | 70 61 72 74 69 63 69 70 |d. All |particip|
|00023720| 61 6e 74 73 20 63 75 72 | 72 65 6e 74 6c 79 20 63 |ants cur|rently c|
|00023730| 6f 6e 6e 65 63 74 65 64 | 20 77 69 74 68 20 74 68 |onnected| with th|
|00023740| 65 20 77 72 6f 6e 67 20 | 63 6f 6e 66 65 72 65 6e |e wrong |conferen|
|00023750| 63 65 0a 49 44 20 6f 72 | 20 7a 65 72 6f 20 77 69 |ce.ID or| zero wi|
|00023760| 6c 6c 20 62 65 20 64 69 | 73 63 6f 6e 6e 65 63 74 |ll be di|sconnect|
|00023770| 65 64 20 61 6e 64 20 74 | 68 65 20 6d 65 73 73 61 |ed and t|he messa|
|00023780| 67 65 20 73 74 72 69 6e | 67 20 74 68 61 74 20 77 |ge strin|g that w|
|00023790| 61 73 20 73 70 65 63 69 | 66 69 65 64 20 69 6e 20 |as speci|fied in |
|000237a0| 0a 74 68 65 20 43 4f 4e | 46 2d 49 44 20 63 6f 6e |.the CON|F-ID con|
|000237b0| 66 69 67 75 72 61 74 69 | 6f 6e 20 70 61 72 61 6d |figurati|on param|
|000237c0| 61 74 65 72 20 77 69 6c | 6c 20 61 70 70 65 61 72 |ater wil|l appear|
|000237d0| 20 6f 6e 20 74 68 65 69 | 72 20 73 63 72 65 65 6e | on thei|r screen|
|000237e0| 2e 20 20 41 6c 6c 20 66 | 75 74 75 72 65 0a 63 6f |. All f|uture.co|
|000237f0| 6e 6e 65 63 74 69 6f 6e | 20 61 74 74 65 6d 70 74 |nnection| attempt|
|00023800| 73 20 77 69 6c 6c 20 61 | 6c 73 6f 20 68 61 76 65 |s will a|lso have|
|00023810| 20 74 6f 20 63 6f 6e 74 | 61 69 6e 20 74 68 65 20 | to cont|ain the |
|00023820| 63 6f 72 72 65 63 74 20 | 63 6f 6e 66 65 72 65 6e |correct |conferen|
|00023830| 63 65 20 49 44 0a 6f 72 | 20 65 6c 73 65 20 74 68 |ce ID.or| else th|
|00023840| 65 79 20 77 69 6c 6c 20 | 6e 6f 74 20 62 65 20 61 |ey will |not be a|
|00023850| 6c 6c 6f 77 65 64 20 74 | 6f 20 63 6f 6e 6e 65 63 |llowed t|o connec|
|00023860| 74 2e 20 20 54 68 65 20 | 63 6f 6e 66 65 72 65 6e |t. The |conferen|
|00023870| 63 65 20 49 44 20 72 65 | 6d 61 69 6e 73 0a 69 6e |ce ID re|mains.in|
|00023880| 20 65 66 66 65 63 74 20 | 75 6e 74 69 6c 20 74 68 | effect |until th|
|00023890| 65 20 63 6f 6e 66 65 72 | 65 6e 63 65 20 67 6f 64 |e confer|ence god|
|000238a0| 20 72 65 73 65 74 73 20 | 69 74 20 74 6f 20 61 6e | resets |it to an|
|000238b0| 6f 74 68 65 72 20 6e 75 | 6d 62 65 72 20 6f 72 20 |other nu|mber or |
|000238c0| 70 65 72 68 61 70 73 20 | 0a 30 20 74 6f 20 6d 61 |perhaps |.0 to ma|
|000238d0| 6b 65 20 69 74 20 61 6e | 20 75 6e 72 65 73 74 72 |ke it an| unrestr|
|000238e0| 69 63 74 65 64 20 63 6f | 6e 66 65 72 65 6e 63 65 |icted co|nference|
|000238f0| 2e 0a 0a 0a 41 44 4d 49 | 54 20 69 70 2d 61 64 64 |....ADMI|T ip-add|
|00023900| 72 65 73 73 20 6d 73 67 | 2d 73 74 72 69 6e 67 0a |ress msg|-string.|
|00023910| 2f 2f 0a 0a 41 44 4d 49 | 54 20 69 73 20 61 6e 6f |//..ADMI|T is ano|
|00023920| 74 68 65 72 20 6d 65 63 | 68 61 6e 69 73 6d 20 79 |ther mec|hanism y|
|00023930| 6f 75 20 63 61 6e 20 75 | 73 65 20 74 6f 20 6c 69 |ou can u|se to li|
|00023940| 6d 69 74 20 74 68 65 20 | 70 61 72 74 69 63 69 70 |mit the |particip|
|00023950| 61 6e 74 73 20 69 6e 20 | 0a 61 20 63 6f 6e 66 65 |ants in |.a confe|
|00023960| 72 65 6e 63 65 2e 20 20 | 42 79 20 61 64 64 69 6e |rence. |By addin|
|00023970| 67 20 61 6e 20 41 44 4d | 49 54 20 49 50 20 61 64 |g an ADM|IT IP ad|
|00023980| 64 72 65 73 73 20 6c 69 | 6e 65 20 66 6f 72 20 65 |dress li|ne for e|
|00023990| 61 63 68 20 69 6e 76 69 | 74 65 64 20 0a 70 61 72 |ach invi|ted .par|
|000239a0| 74 69 63 69 70 61 6e 74 | 2c 20 74 68 65 20 72 65 |ticipant|, the re|
|000239b0| 66 6c 65 63 74 6f 72 20 | 77 69 6c 6c 20 72 65 73 |flector |will res|
|000239c0| 74 72 69 63 74 20 74 68 | 65 20 63 6f 6e 66 65 72 |trict th|e confer|
|000239d0| 65 6e 63 65 20 74 6f 20 | 6f 6e 6c 79 20 74 68 6f |ence to |only tho|
|000239e0| 73 65 20 0a 70 61 72 74 | 69 63 69 70 61 6e 74 73 |se .part|icipants|
|000239f0| 20 77 68 6f 20 68 61 76 | 65 20 61 6e 20 49 50 20 | who hav|e an IP |
|00023a00| 61 64 64 72 65 73 73 20 | 77 68 69 63 68 20 6d 61 |address |which ma|
|00023a10| 74 63 68 65 73 20 6f 6e | 65 20 6f 66 20 74 68 65 |tches on|e of the|
|00023a20| 20 49 50 20 0a 61 64 64 | 72 65 73 73 65 73 20 73 | IP .add|resses s|
|00023a30| 70 65 63 69 66 69 65 64 | 20 62 79 20 61 6e 20 41 |pecified| by an A|
|00023a40| 44 4d 49 54 20 6c 69 6e | 65 2e 20 20 54 68 65 20 |DMIT lin|e. The |
|00023a50| 6d 73 67 20 73 74 72 69 | 6e 67 20 69 73 20 61 6e |msg stri|ng is an|
|00023a60| 20 61 73 63 69 69 20 73 | 74 72 69 6e 67 0a 74 65 | ascii s|tring.te|
|00023a70| 72 6d 69 6e 61 74 65 64 | 20 62 79 20 61 20 63 61 |rminated| by a ca|
|00023a80| 72 72 69 61 67 65 20 72 | 65 74 75 72 6e 20 66 6f |rriage r|eturn fo|
|00023a90| 6c 6c 6f 77 65 64 20 62 | 79 20 74 77 6f 20 62 61 |llowed b|y two ba|
|00023aa0| 63 6b 20 73 6c 61 73 68 | 65 73 2e 20 20 54 68 69 |ck slash|es. Thi|
|00023ab0| 73 0a 69 73 20 74 68 65 | 20 73 74 72 69 6e 67 20 |s.is the| string |
|00023ac0| 74 68 61 74 20 77 69 6c | 6c 20 61 70 70 65 61 72 |that wil|l appear|
|00023ad0| 20 6f 6e 20 61 20 70 61 | 72 74 69 63 69 70 61 6e | on a pa|rticipan|
|00023ae0| 74 27 73 20 73 63 72 65 | 65 6e 20 69 66 20 68 65 |t's scre|en if he|
|00023af0| 20 74 72 69 65 73 20 74 | 6f 0a 63 6f 6e 6e 65 63 | tries t|o.connec|
|00023b00| 74 20 62 75 74 20 68 65 | 20 69 73 20 6e 6f 74 20 |t but he| is not |
|00023b10| 6f 6e 20 74 68 65 20 61 | 64 6d 69 74 20 6c 69 73 |on the a|dmit lis|
|00023b20| 74 2e 20 20 43 75 72 72 | 65 6e 74 6c 79 2c 20 74 |t. Curr|ently, t|
|00023b30| 68 65 72 65 20 6d 75 73 | 74 20 62 65 20 61 20 0a |here mus|t be a .|
|00023b40| 6d 65 73 73 61 67 65 20 | 73 74 72 69 6e 67 20 73 |message |string s|
|00023b50| 70 65 63 69 66 69 65 64 | 20 77 69 74 68 20 65 61 |pecified| with ea|
|00023b60| 63 68 20 41 44 4d 49 54 | 20 69 6e 20 74 68 65 20 |ch ADMIT| in the |
|00023b70| 63 6f 6e 66 69 67 75 72 | 61 74 69 6f 6e 20 66 69 |configur|ation fi|
|00023b80| 6c 65 2c 20 62 75 74 0a | 6f 6e 6c 79 20 74 68 65 |le, but.|only the|
|00023b90| 20 6d 65 73 73 61 67 65 | 20 73 74 72 69 6e 67 20 | message| string |
|00023ba0| 61 73 73 6f 63 69 61 74 | 65 64 20 77 69 74 68 20 |associat|ed with |
|00023bb0| 74 68 65 20 6c 61 73 74 | 20 41 44 4d 49 54 20 69 |the last| ADMIT i|
|00023bc0| 6e 20 74 68 65 20 63 6f | 6e 66 69 67 75 72 61 74 |n the co|nfigurat|
|00023bd0| 69 6f 6e 0a 66 69 6c 65 | 20 77 69 6c 6c 20 62 65 |ion.file| will be|
|00023be0| 20 75 73 65 64 2e 20 20 | 46 6f 72 20 6e 6f 77 2c | used. |For now,|
|00023bf0| 20 74 68 61 74 20 6d 65 | 61 6e 73 20 79 6f 75 20 | that me|ans you |
|00023c00| 73 68 6f 75 6c 64 20 6a | 75 73 74 20 65 6e 74 65 |should j|ust ente|
|00023c10| 72 20 69 6e 20 73 6f 6d | 65 0a 64 75 6d 6d 79 20 |r in som|e.dummy |
|00023c20| 73 74 72 69 6e 67 20 66 | 6f 72 20 65 61 63 68 20 |string f|or each |
|00023c30| 41 44 4d 49 54 20 69 6e | 20 74 68 65 20 63 6f 6e |ADMIT in| the con|
|00023c40| 66 69 67 75 72 61 74 69 | 6f 6e 20 66 69 6c 65 20 |figurati|on file |
|00023c50| 65 78 63 65 70 74 20 74 | 68 65 20 6c 61 73 74 20 |except t|he last |
|00023c60| 6f 6e 65 2e 0a 49 6e 20 | 73 6f 6d 65 20 66 75 74 |one..In |some fut|
|00023c70| 75 72 65 20 76 65 72 73 | 69 6f 6e 20 6f 66 20 74 |ure vers|ion of t|
|00023c80| 68 65 20 72 65 66 6c 65 | 63 74 6f 72 20 61 6c 6c |he refle|ctor all|
|00023c90| 20 74 68 65 20 6d 65 73 | 73 61 67 65 20 73 74 72 | the mes|sage str|
|00023ca0| 69 6e 67 73 20 77 69 6c | 6c 20 62 65 0a 6f 70 74 |ings wil|l be.opt|
|00023cb0| 69 6f 6e 61 6c 20 73 6f | 20 74 68 61 74 20 74 68 |ional so| that th|
|00023cc0| 69 73 20 6e 75 69 73 61 | 6e 63 65 20 77 69 6c 6c |is nuisa|nce will|
|00023cd0| 20 67 6f 20 61 77 61 79 | 2e 20 0a 0a 0a 4d 41 58 | go away|. ...MAX|
|00023ce0| 2d 50 41 52 54 49 43 49 | 50 41 4e 54 53 20 6d 61 |-PARTICI|PANTS ma|
|00023cf0| 78 61 6c 6c 6f 77 65 64 | 20 6d 73 67 2d 73 74 72 |xallowed| msg-str|
|00023d00| 69 6e 67 0a 2f 2f 0a 0a | 4d 41 58 2d 50 41 52 54 |ing.//..|MAX-PART|
|00023d10| 49 43 49 50 41 4e 54 53 | 20 61 6c 6c 6f 77 73 20 |ICIPANTS| allows |
|00023d20| 79 6f 75 20 74 6f 20 6c | 69 6d 69 74 20 74 68 65 |you to l|imit the|
|00023d30| 20 6c 6f 61 64 20 6f 6e | 20 79 6f 75 72 20 72 65 | load on| your re|
|00023d40| 66 6c 65 63 74 6f 72 20 | 74 6f 20 0a 74 68 65 20 |flector |to .the |
|00023d50| 73 70 65 63 69 66 69 65 | 64 20 6e 75 6d 62 65 72 |specifie|d number|
|00023d60| 20 6f 66 20 70 61 72 74 | 69 63 69 70 61 6e 74 73 | of part|icipants|
|00023d70| 2e 20 20 54 68 65 20 6d | 61 78 61 6c 6c 6f 77 65 |. The m|axallowe|
|00023d80| 64 20 72 61 6e 67 65 20 | 69 73 20 30 20 74 6f 20 |d range |is 0 to |
|00023d90| 34 30 2c 20 0a 77 69 74 | 68 20 74 68 65 20 64 65 |40, .wit|h the de|
|00023da0| 66 61 75 6c 74 20 65 71 | 75 61 6c 20 74 6f 20 32 |fault eq|ual to 2|
|00023db0| 30 2e 20 20 54 68 65 20 | 6d 73 67 20 73 74 72 69 |0. The |msg stri|
|00023dc0| 6e 67 20 69 73 20 61 6e | 20 61 73 63 69 69 20 73 |ng is an| ascii s|
|00023dd0| 74 72 69 6e 67 20 74 65 | 72 6d 69 6e 61 74 65 64 |tring te|rminated|
|00023de0| 20 0a 62 79 20 61 20 63 | 61 72 72 69 61 67 65 20 | .by a c|arriage |
|00023df0| 72 65 74 75 72 6e 20 66 | 6f 6c 6c 6f 77 65 64 20 |return f|ollowed |
|00023e00| 62 79 20 74 77 6f 20 62 | 61 63 6b 20 73 6c 61 73 |by two b|ack slas|
|00023e10| 68 65 73 2e 20 20 54 68 | 69 73 20 69 73 20 74 68 |hes. Th|is is th|
|00023e20| 65 20 73 74 72 69 6e 67 | 20 74 68 61 74 20 0a 77 |e string| that .w|
|00023e30| 69 6c 6c 20 61 70 70 65 | 61 72 20 6f 6e 20 61 20 |ill appe|ar on a |
|00023e40| 70 61 72 74 69 63 69 70 | 61 6e 74 27 73 20 73 63 |particip|ant's sc|
|00023e50| 72 65 65 6e 20 69 66 20 | 68 65 20 74 72 69 65 73 |reen if |he tries|
|00023e60| 20 74 6f 20 63 6f 6e 6e | 65 63 74 20 62 75 74 20 | to conn|ect but |
|00023e70| 74 68 65 20 6d 61 78 69 | 6d 75 6d 20 0a 6e 75 6d |the maxi|mum .num|
|00023e80| 62 65 72 20 6f 66 20 61 | 6c 6c 6f 77 65 64 20 70 |ber of a|llowed p|
|00023e90| 61 72 74 69 63 69 70 61 | 6e 74 73 20 68 61 73 20 |articipa|nts has |
|00023ea0| 62 65 65 6e 20 65 78 63 | 65 65 64 65 64 2e 0a 0a |been exc|eeded...|
|00023eb0| 0a 4c 4f 47 20 66 69 6c | 65 6e 61 6d 65 0a 0a 54 |.LOG fil|ename..T|
|00023ec0| 68 65 20 72 65 66 6c 65 | 63 74 6f 72 20 6c 6f 67 |he refle|ctor log|
|00023ed0| 73 20 61 20 73 6d 61 6c | 6c 20 61 6d 6f 75 6e 74 |s a smal|l amount|
|00023ee0| 20 6f 66 20 69 6e 66 6f | 72 6d 61 74 69 6f 6e 20 | of info|rmation |
|00023ef0| 73 75 63 68 20 61 73 20 | 65 61 63 68 20 0a 70 61 |such as |each .pa|
|00023f00| 72 74 69 63 69 70 61 6e | 74 73 20 61 72 72 69 76 |rticipan|ts arriv|
|00023f10| 61 6c 20 61 6e 64 20 64 | 65 70 61 72 74 75 72 65 |al and d|eparture|
|00023f20| 20 66 72 6f 6d 20 74 68 | 65 20 63 6f 6e 66 65 72 | from th|e confer|
|00023f30| 65 6e 63 65 20 69 6e 20 | 61 20 6c 6f 67 20 66 69 |ence in |a log fi|
|00023f40| 6c 65 2e 20 20 0a 54 68 | 65 20 64 65 66 61 75 6c |le. .Th|e defaul|
|00023f50| 74 20 6e 61 6d 65 20 66 | 6f 72 20 74 68 69 73 20 |t name f|or this |
|00023f60| 66 69 6c 65 20 69 73 20 | 72 65 66 6c 65 63 74 2e |file is |reflect.|
|00023f70| 6c 6f 67 2e 20 20 54 6f | 20 63 68 61 6e 67 65 20 |log. To| change |
|00023f80| 74 68 65 20 6e 61 6d 65 | 20 6f 66 20 0a 74 68 69 |the name| of .thi|
|00023f90| 73 20 66 69 6c 65 20 73 | 70 65 63 69 66 79 20 74 |s file s|pecify t|
|00023fa0| 68 65 20 4c 4f 47 20 70 | 61 72 61 6d 65 74 65 72 |he LOG p|arameter|
|00023fb0| 20 77 69 74 68 20 61 20 | 64 69 66 66 65 72 65 6e | with a |differen|
|00023fc0| 74 20 66 69 6c 65 20 6e | 61 6d 65 2e 0a 0a 0a 4c |t file n|ame....L|
|00023fd0| 4f 47 2d 4c 49 4d 49 54 | 20 6c 6f 67 2d 66 69 6c |OG-LIMIT| log-fil|
|00023fe0| 65 2d 6c 69 6e 65 2d 6c | 69 6d 69 74 0a 0a 49 66 |e-line-l|imit..If|
|00023ff0| 20 79 6f 75 20 68 61 76 | 65 20 61 20 62 75 73 79 | you hav|e a busy|
|00024000| 20 72 65 66 6c 65 63 74 | 6f 72 20 72 75 6e 6e 69 | reflect|or runni|
|00024010| 6e 67 20 66 6f 72 20 73 | 65 76 65 72 61 6c 20 64 |ng for s|everal d|
|00024020| 61 79 73 20 74 68 65 20 | 6c 6f 67 20 66 69 6c 65 |ays the |log file|
|00024030| 20 63 61 6e 20 0a 67 72 | 6f 77 20 71 75 69 74 65 | can .gr|ow quite|
|00024040| 20 6c 61 72 67 65 2e 20 | 20 55 73 65 20 4c 4f 47 | large. | Use LOG|
|00024050| 2d 4c 49 4d 49 54 20 74 | 6f 20 6c 69 6d 69 74 20 |-LIMIT t|o limit |
|00024060| 74 68 65 20 6e 75 6d 62 | 65 72 20 6f 66 20 6c 69 |the numb|er of li|
|00024070| 6e 65 73 20 69 6e 20 74 | 68 65 20 0a 6c 6f 67 20 |nes in t|he .log |
|00024080| 66 69 6c 65 2e 20 20 54 | 68 65 20 64 65 66 61 75 |file. T|he defau|
|00024090| 6c 74 20 69 73 20 31 30 | 2c 30 30 30 20 6c 69 6e |lt is 10|,000 lin|
|000240a0| 65 73 20 6f 66 20 6c 6f | 67 20 69 6e 66 6f 72 6d |es of lo|g inform|
|000240b0| 61 74 69 6f 6e 2e 20 20 | 41 66 74 65 72 20 74 68 |ation. |After th|
|000240c0| 65 20 6c 6f 67 20 0a 66 | 69 6c 65 20 6c 69 6e 65 |e log .f|ile line|
|000240d0| 20 6c 69 6d 69 74 20 69 | 73 20 72 65 61 63 68 65 | limit i|s reache|
|000240e0| 64 20 74 68 65 20 72 65 | 66 6c 65 63 74 6f 72 20 |d the re|flector |
|000240f0| 77 69 6c 6c 20 65 72 61 | 73 65 20 74 68 65 20 6c |will era|se the l|
|00024100| 6f 67 20 66 69 6c 65 20 | 61 6e 64 20 73 74 61 72 |og file |and star|
|00024110| 74 20 0a 61 20 6e 65 77 | 20 6f 6e 65 20 77 69 74 |t .a new| one wit|
|00024120| 68 20 74 68 65 20 73 61 | 6d 65 20 6e 61 6d 65 2e |h the sa|me name.|
|00024130| 20 20 49 66 20 79 6f 75 | 20 73 70 65 63 69 66 79 | If you| specify|
|00024140| 20 61 20 6c 6f 67 20 66 | 69 6c 65 20 6c 69 6e 65 | a log f|ile line|
|00024150| 20 6c 69 6d 69 74 20 6f | 66 20 0a 30 2c 20 6e 6f | limit o|f .0, no|
|00024160| 20 6c 6f 67 20 66 69 6c | 65 20 77 69 6c 6c 20 62 | log fil|e will b|
|00024170| 65 20 63 72 65 61 74 65 | 64 2e 0a 0a 0a 4d 4f 54 |e create|d....MOT|
|00024180| 44 20 41 53 43 49 49 20 | 6d 6f 74 64 2d 73 74 72 |D ASCII |motd-str|
|00024190| 69 6e 67 0a 2f 2f 0a 0a | 4d 4f 54 44 20 69 73 20 |ing.//..|MOTD is |
|000241a0| 75 73 65 64 20 74 6f 20 | 73 70 65 63 69 66 79 20 |used to |specify |
|000241b0| 74 68 65 20 6d 65 73 73 | 61 67 65 20 6f 66 20 74 |the mess|age of t|
|000241c0| 68 65 20 64 61 79 2e 20 | 20 49 6e 20 61 6e 79 20 |he day. | In any |
|000241d0| 4d 61 63 20 76 65 72 73 | 69 6f 6e 20 6f 66 20 0a |Mac vers|ion of .|
|000241e0| 43 55 2d 53 65 65 4d 65 | 20 61 62 6f 76 65 20 30 |CU-SeeMe| above 0|
|000241f0| 2e 37 30 2c 20 6f 72 20 | 61 6e 20 50 43 20 76 65 |.70, or |an PC ve|
|00024200| 72 73 69 6f 6e 20 61 62 | 6f 76 65 20 30 2e 33 34 |rsion ab|ove 0.34|
|00024210| 20 74 68 65 20 61 70 70 | 6c 69 63 61 74 69 6f 6e | the app|lication|
|00024220| 20 77 69 6c 6c 20 0a 64 | 69 73 70 6c 61 79 20 61 | will .d|isplay a|
|00024230| 6e 79 20 6d 6f 74 64 20 | 6d 65 73 73 61 67 65 73 |ny motd |messages|
|00024240| 20 77 68 65 6e 20 61 20 | 75 73 65 72 20 66 69 72 | when a |user fir|
|00024250| 73 74 20 63 6f 6e 6e 65 | 63 74 73 20 74 6f 20 61 |st conne|cts to a|
|00024260| 20 72 65 66 6c 65 63 74 | 6f 72 2e 20 20 0a 54 68 | reflect|or. .Th|
|00024270| 65 20 6d 6f 74 64 20 63 | 61 6e 20 62 65 20 75 70 |e motd c|an be up|
|00024280| 20 74 6f 20 38 30 30 20 | 63 68 61 72 61 63 74 65 | to 800 |characte|
|00024290| 72 73 20 69 6e 20 6c 65 | 6e 67 74 68 2e 20 20 54 |rs in le|ngth. T|
|000242a0| 68 65 20 6d 65 73 73 61 | 67 65 20 6f 66 20 74 68 |he messa|ge of th|
|000242b0| 65 20 64 61 79 20 0a 73 | 74 72 69 6e 67 20 69 73 |e day .s|tring is|
|000242c0| 20 61 6e 20 61 73 63 69 | 69 20 73 74 72 69 6e 67 | an asci|i string|
|000242d0| 20 74 65 72 6d 69 6e 61 | 74 65 64 20 62 79 20 61 | termina|ted by a|
|000242e0| 20 63 61 72 72 69 61 67 | 65 20 72 65 74 75 72 6e | carriag|e return|
|000242f0| 20 66 6f 6c 6c 6f 77 65 | 64 20 62 79 20 0a 74 77 | followe|d by .tw|
|00024300| 6f 20 62 61 63 6b 20 73 | 6c 61 73 68 65 73 2e 0a |o back s|lashes..|
|00024310| 0a 0a 4d 41 56 45 4e 20 | 6d 61 76 65 6e 2d 70 6f |..MAVEN |maven-po|
|00024320| 72 74 0a 0a 55 73 65 20 | 4d 41 56 45 4e 20 74 6f |rt..Use |MAVEN to|
|00024330| 20 61 6c 6c 6f 77 20 74 | 68 65 20 72 65 66 6c 65 | allow t|he refle|
|00024340| 63 74 6f 72 20 74 6f 20 | 70 72 6f 63 65 73 73 20 |ctor to |process |
|00024350| 4d 61 76 65 6e 20 61 75 | 64 69 6f 20 70 61 63 6b |Maven au|dio pack|
|00024360| 65 74 73 2e 20 20 0a 54 | 68 65 20 61 72 67 75 6d |ets. .T|he argum|
|00024370| 65 6e 74 2c 20 4d 61 76 | 65 6e 20 70 6f 72 74 2c |ent, Mav|en port,|
|00024380| 20 28 74 68 65 20 64 65 | 66 61 75 6c 74 20 4d 61 | (the de|fault Ma|
|00024390| 76 65 6e 20 70 6f 72 74 | 20 69 73 20 33 34 35 36 |ven port| is 3456|
|000243a0| 29 20 69 73 20 74 68 65 | 20 0a 73 61 6d 65 20 70 |) is the| .same p|
|000243b0| 6f 72 74 20 74 68 61 74 | 20 69 73 20 75 73 65 64 |ort that| is used|
|000243c0| 20 77 68 65 6e 20 73 74 | 61 72 74 69 6e 67 20 75 | when st|arting u|
|000243d0| 70 20 74 68 65 20 4d 61 | 76 65 6e 20 61 70 70 6c |p the Ma|ven appl|
|000243e0| 69 63 61 74 69 6f 6e 2e | 20 20 57 68 65 6e 20 0a |ication.| When .|
|000243f0| 74 68 65 20 72 65 66 6c | 65 63 74 6f 72 20 69 73 |the refl|ector is|
|00024400| 20 63 6f 6e 66 69 67 75 | 72 65 64 20 77 69 74 68 | configu|red with|
|00024410| 20 4d 41 56 45 4e 2c 20 | 61 6c 6c 20 4d 61 76 65 | MAVEN, |all Mave|
|00024420| 6e 20 63 6c 69 65 6e 74 | 73 20 74 68 61 74 20 63 |n client|s that c|
|00024430| 6f 6e 6e 65 63 74 20 0a | 74 6f 20 74 68 65 20 72 |onnect .|to the r|
|00024440| 65 66 6c 65 63 74 6f 72 | 20 77 69 6c 6c 20 61 75 |eflector| will au|
|00024450| 74 6f 6d 61 74 69 63 61 | 6c 6c 79 20 68 61 76 65 |tomatica|lly have|
|00024460| 20 74 68 65 69 72 20 61 | 75 64 69 6f 20 73 65 6e | their a|udio sen|
|00024470| 74 20 74 6f 20 61 6c 6c | 20 6f 66 20 74 68 65 20 |t to all| of the |
|00024480| 0a 6f 74 68 65 72 20 4d | 61 76 65 6e 20 63 6c 69 |.other M|aven cli|
|00024490| 65 6e 74 73 20 63 6f 6e | 6e 65 63 74 65 64 20 74 |ents con|nected t|
|000244a0| 6f 20 74 68 65 20 72 65 | 66 6c 65 63 74 6f 72 2e |o the re|flector.|
|000244b0| 20 20 49 6e 20 61 64 64 | 69 74 69 6f 6e 20 61 6e | In add|ition an|
|000244c0| 79 20 43 55 2d 53 65 65 | 4d 65 20 0a 61 75 64 69 |y CU-See|Me .audi|
|000244d0| 6f 20 63 61 70 61 62 6c | 65 20 70 61 72 74 69 63 |o capabl|e partic|
|000244e0| 69 70 61 6e 74 73 20 77 | 69 6c 6c 20 68 61 76 65 |ipants w|ill have|
|000244f0| 20 74 68 65 69 72 20 61 | 75 64 69 6f 20 73 65 6e | their a|udio sen|
|00024500| 74 20 74 6f 20 61 6c 6c | 20 6f 66 20 74 68 65 20 |t to all| of the |
|00024510| 4d 61 76 65 6e 20 0a 63 | 6c 69 65 6e 74 73 20 61 |Maven .c|lients a|
|00024520| 6e 64 20 61 6e 79 20 4d | 61 76 65 6e 20 63 6c 69 |nd any M|aven cli|
|00024530| 65 6e 74 73 20 74 68 61 | 74 20 61 72 65 20 61 6c |ents tha|t are al|
|00024540| 73 6f 20 63 6f 6e 6e 65 | 63 74 65 64 20 77 69 74 |so conne|cted wit|
|00024550| 68 20 61 20 6e 6f 6e 2d | 61 75 64 69 6f 20 63 61 |h a non-|audio ca|
|00024560| 70 61 62 6c 65 20 0a 76 | 65 72 73 69 6f 6e 20 6f |pable .v|ersion o|
|00024570| 66 20 43 55 2d 53 65 65 | 4d 65 20 77 69 6c 6c 20 |f CU-See|Me will |
|00024580| 68 61 76 65 20 74 68 65 | 69 72 20 61 75 64 69 6f |have the|ir audio|
|00024590| 20 73 65 6e 74 20 74 6f | 20 74 68 65 20 43 55 2d | sent to| the CU-|
|000245a0| 53 65 65 4d 65 20 61 75 | 64 69 6f 20 63 61 70 61 |SeeMe au|dio capa|
|000245b0| 62 6c 65 20 0a 63 6c 69 | 65 6e 74 73 2e 0a 0a 0a |ble .cli|ents....|
|000245c0| 41 44 4d 49 54 2d 42 43 | 43 2d 43 4c 49 45 4e 54 |ADMIT-BC|C-CLIENT|
|000245d0| 20 69 70 2d 61 64 64 72 | 65 73 73 0a 0a 41 44 4d | ip-addr|ess..ADM|
|000245e0| 49 54 2d 42 43 43 2d 43 | 4c 49 45 4e 54 20 69 73 |IT-BCC-C|LIENT is|
|000245f0| 20 75 73 65 64 20 74 6f | 20 63 61 75 73 65 20 74 | used to| cause t|
|00024600| 68 65 20 72 65 66 6c 65 | 63 74 6f 72 20 74 6f 20 |he refle|ctor to |
|00024610| 73 65 6e 64 20 61 20 62 | 6c 69 6e 64 20 0a 63 61 |send a b|lind .ca|
|00024620| 72 62 6f 6e 20 63 6f 70 | 79 20 6f 66 20 61 6c 6c |rbon cop|y of all|
|00024630| 20 6f 66 20 74 68 65 20 | 43 55 2d 53 65 65 4d 65 | of the |CU-SeeMe|
|00024640| 20 73 74 72 65 61 6d 73 | 20 74 6f 20 61 6e 6f 74 | streams| to anot|
|00024650| 68 65 72 20 72 65 66 6c | 65 63 74 6f 72 2e 20 20 |her refl|ector. |
|00024660| 54 68 69 73 20 0a 69 73 | 20 75 73 65 64 20 69 66 |This .is| used if|
|00024670| 20 79 6f 75 20 61 72 65 | 20 70 75 74 74 69 6e 67 | you are| putting|
|00024680| 20 6f 6e 20 61 6e 20 65 | 76 65 6e 74 20 77 68 65 | on an e|vent whe|
|00024690| 72 65 20 74 68 65 72 65 | 20 61 72 65 20 61 20 73 |re there| are a s|
|000246a0| 6d 61 6c 6c 20 6e 75 6d | 62 65 72 20 0a 6f 66 20 |mall num|ber .of |
|000246b0| 61 63 74 69 76 65 20 70 | 61 72 74 69 63 69 70 61 |active p|articipa|
|000246c0| 6e 74 73 20 61 6e 64 20 | 61 20 6c 61 72 67 65 20 |nts and |a large |
|000246d0| 6e 75 6d 62 65 72 20 6f | 66 20 70 61 73 73 69 76 |number o|f passiv|
|000246e0| 65 20 76 69 65 77 65 72 | 73 2e 20 20 54 68 65 20 |e viewer|s. The |
|000246f0| 70 72 69 6d 61 72 79 20 | 0a 63 6f 6e 66 65 72 65 |primary |.confere|
|00024700| 6e 63 65 20 69 73 20 72 | 75 6e 20 6f 66 66 20 6f |nce is r|un off o|
|00024710| 66 20 74 68 65 20 6d 61 | 69 6e 20 72 65 66 6c 65 |f the ma|in refle|
|00024720| 63 74 6f 72 2e 20 20 54 | 68 69 73 20 72 65 66 6c |ctor. T|his refl|
|00024730| 65 63 74 6f 72 20 69 73 | 20 63 6f 6e 66 69 67 75 |ector is| configu|
|00024740| 72 65 64 20 0a 77 69 74 | 68 20 6f 6e 65 20 6f 72 |red .wit|h one or|
|00024750| 20 6d 6f 72 65 20 41 44 | 4d 49 54 2d 42 43 43 2d | more AD|MIT-BCC-|
|00024760| 43 4c 49 45 4e 54 20 6c | 69 73 74 73 20 63 61 75 |CLIENT l|ists cau|
|00024770| 73 69 6e 67 20 69 74 20 | 74 6f 20 73 65 6e 64 20 |sing it |to send |
|00024780| 43 55 2d 53 65 65 4d 65 | 20 73 74 72 65 61 6d 73 |CU-SeeMe| streams|
|00024790| 20 0a 74 6f 20 6f 74 68 | 65 72 20 72 65 66 6c 65 | .to oth|er refle|
|000247a0| 63 74 6f 72 73 2e 20 20 | 54 68 65 20 70 61 73 73 |ctors. |The pass|
|000247b0| 69 76 65 20 61 75 64 69 | 65 6e 63 65 20 74 68 65 |ive audi|ence the|
|000247c0| 6e 20 63 6f 6e 6e 65 63 | 74 73 20 74 6f 20 74 68 |n connec|ts to th|
|000247d0| 65 73 65 20 6f 74 68 65 | 72 20 0a 72 65 66 6c 65 |ese othe|r .refle|
|000247e0| 63 74 6f 72 73 20 6f 6e | 20 74 68 65 20 22 72 65 |ctors on| the "re|
|000247f0| 66 6c 65 63 74 6f 72 20 | 6e 65 74 22 20 74 6f 20 |flector |net" to |
|00024800| 77 61 74 63 68 20 74 68 | 65 20 6d 61 69 6e 20 65 |watch th|e main e|
|00024810| 76 65 6e 74 2e 0a 0a 0a | 4f 42 54 41 49 4e 2d 42 |vent....|OBTAIN-B|
|00024820| 43 43 20 69 70 2d 61 64 | 64 72 65 73 73 0a 0a 4f |CC ip-ad|dress..O|
|00024830| 42 54 41 49 4e 2d 42 43 | 43 20 69 73 20 75 73 65 |BTAIN-BC|C is use|
|00024840| 64 20 74 6f 20 63 6f 6e | 66 69 67 75 72 65 20 61 |d to con|figure a|
|00024850| 20 72 65 66 6c 65 63 74 | 6f 72 20 74 6f 20 72 65 | reflect|or to re|
|00024860| 63 65 69 76 65 20 61 20 | 62 6c 69 6e 64 20 63 61 |ceive a |blind ca|
|00024870| 72 62 6f 6e 20 0a 63 6f | 70 79 20 66 65 65 64 20 |rbon .co|py feed |
|00024880| 66 72 6f 6d 20 61 6e 6f | 74 68 65 72 20 72 65 66 |from ano|ther ref|
|00024890| 6c 65 63 74 6f 72 2c 20 | 61 73 20 65 78 70 6c 61 |lector, |as expla|
|000248a0| 69 6e 65 64 20 61 62 6f | 76 65 2e 0a 0a 0a 4d 43 |ined abo|ve....MC|
|000248b0| 2d 4f 55 54 20 74 74 6c | 20 6d 75 6c 74 69 63 61 |-OUT ttl| multica|
|000248c0| 73 74 2d 61 64 64 72 0a | 0a 4d 43 2d 4f 55 54 20 |st-addr.|.MC-OUT |
|000248d0| 61 6e 64 20 4d 43 2d 49 | 4e 20 28 73 65 65 20 62 |and MC-I|N (see b|
|000248e0| 65 6c 6f 77 29 20 61 72 | 65 20 73 69 6d 69 6c 61 |elow) ar|e simila|
|000248f0| 72 20 74 6f 20 41 44 4d | 49 54 2d 42 43 43 2d 43 |r to ADM|IT-BCC-C|
|00024900| 4c 49 45 4e 54 20 0a 61 | 6e 64 20 4f 42 54 41 49 |LIENT .a|nd OBTAI|
|00024910| 4e 2d 42 43 43 20 63 6c | 69 65 6e 74 2c 20 62 75 |N-BCC cl|ient, bu|
|00024920| 74 20 74 61 6b 65 20 61 | 64 76 61 6e 74 61 67 65 |t take a|dvantage|
|00024930| 20 6f 66 20 49 50 20 4d | 75 6c 74 69 63 61 73 74 | of IP M|ulticast|
|00024940| 69 6e 67 2e 20 20 54 6f | 20 0a 75 73 65 20 61 6e |ing. To| .use an|
|00024950| 79 20 6f 66 20 74 68 65 | 20 6d 75 6c 74 69 63 61 |y of the| multica|
|00024960| 73 74 20 63 61 70 61 62 | 69 6c 69 74 69 65 73 20 |st capab|ilities |
|00024970| 6f 66 20 74 68 65 20 72 | 65 66 6c 65 63 74 6f 72 |of the r|eflector|
|00024980| 2c 20 79 6f 75 20 6d 75 | 73 74 20 66 69 72 73 74 |, you mu|st first|
|00024990| 20 0a 6d 61 6b 65 20 73 | 75 72 65 20 74 68 61 74 | .make s|ure that|
|000249a0| 20 79 6f 75 72 20 72 65 | 66 6c 65 63 74 6f 72 20 | your re|flector |
|000249b0| 68 61 73 20 62 65 65 6e | 20 63 6f 6d 70 69 6c 65 |has been| compile|
|000249c0| 64 20 77 69 74 68 20 74 | 68 65 20 2d 44 4d 55 4c |d with t|he -DMUL|
|000249d0| 54 20 0a 73 77 69 74 63 | 68 2c 20 74 68 69 73 20 |T .switc|h, this |
|000249e0| 63 61 75 73 65 73 20 74 | 68 65 20 6d 75 6c 74 69 |causes t|he multi|
|000249f0| 63 61 73 74 20 63 6f 64 | 65 20 74 6f 20 62 65 20 |cast cod|e to be |
|00024a00| 63 6f 6d 70 69 6c 65 64 | 20 69 6e 74 6f 20 74 68 |compiled| into th|
|00024a10| 65 20 0a 72 65 66 6c 65 | 63 74 6f 72 2e 20 20 53 |e .refle|ctor. S|
|00024a20| 65 63 6f 6e 64 2c 20 74 | 68 65 20 72 65 66 6c 65 |econd, t|he refle|
|00024a30| 63 74 6f 72 20 68 6f 73 | 74 20 6d 75 73 74 20 73 |ctor hos|t must s|
|00024a40| 75 70 70 6f 72 74 20 6d | 75 6c 74 69 63 61 73 74 |upport m|ulticast|
|00024a50| 2e 20 0a 43 6f 6e 73 75 | 6c 74 20 77 69 74 68 20 |. .Consu|lt with |
|00024a60| 79 6f 75 72 20 6c 6f 63 | 61 6c 20 55 4e 49 58 20 |your loc|al UNIX |
|00024a70| 67 75 72 75 20 74 6f 20 | 66 69 6e 64 20 6f 75 74 |guru to |find out|
|00024a80| 20 69 66 20 79 6f 75 72 | 20 73 79 73 74 65 6d 20 | if your| system |
|00024a90| 69 73 20 0a 6d 75 6c 74 | 69 63 61 73 74 20 63 61 |is .mult|icast ca|
|00024aa0| 70 61 62 6c 65 20 6f 72 | 20 6e 6f 74 2e 20 20 4d |pable or| not. M|
|00024ab0| 43 5f 4f 55 54 20 77 69 | 6c 6c 20 73 65 6e 64 20 |C_OUT wi|ll send |
|00024ac0| 61 6c 6c 20 43 55 2d 53 | 65 65 4d 65 20 73 74 72 |all CU-S|eeMe str|
|00024ad0| 65 61 6d 73 20 0a 74 6f | 20 74 68 65 20 73 70 65 |eams .to| the spe|
|00024ae0| 63 69 66 69 65 64 20 6d | 75 6c 74 69 63 61 73 74 |cified m|ulticast|
|00024af0| 20 61 64 64 72 65 73 73 | 20 75 73 69 6e 67 20 74 | address| using t|
|00024b00| 68 65 20 73 70 65 63 69 | 66 69 65 64 20 74 74 6c |he speci|fied ttl|
|00024b10| 20 28 74 69 6d 65 20 74 | 6f 20 6c 69 76 65 29 2e | (time t|o live).|
|00024b20| 0a 0a 0a 4d 43 2d 49 4e | 20 6d 75 6c 74 69 63 61 |...MC-IN| multica|
|00024b30| 73 74 2d 61 64 64 72 0a | 0a 4d 43 2d 49 4e 20 69 |st-addr.|.MC-IN i|
|00024b40| 73 20 75 73 65 64 20 74 | 6f 20 63 6f 6e 66 69 67 |s used t|o config|
|00024b50| 75 72 65 20 61 20 72 65 | 66 6c 65 63 74 6f 72 20 |ure a re|flector |
|00024b60| 74 6f 20 72 65 63 65 69 | 76 65 20 61 20 6d 75 6c |to recei|ve a mul|
|00024b70| 74 69 63 61 73 74 20 73 | 74 72 65 61 6d 20 0a 70 |ticast s|tream .p|
|00024b80| 75 74 20 6f 75 74 20 62 | 79 20 61 6e 6f 74 68 65 |ut out b|y anothe|
|00024b90| 72 20 72 65 66 6c 65 63 | 74 6f 72 2c 20 61 73 20 |r reflec|tor, as |
|00024ba0| 65 78 70 6c 61 69 6e 65 | 64 20 61 62 6f 76 65 2e |explaine|d above.|
|00024bb0| 20 20 4d 43 2d 49 4e 20 | 61 6e 64 20 4d 43 2d 4f | MC-IN |and MC-O|
|00024bc0| 55 54 20 0a 73 68 6f 75 | 6c 64 20 6e 6f 74 20 62 |UT .shou|ld not b|
|00024bd0| 65 20 75 73 65 64 20 74 | 6f 67 65 74 68 65 72 20 |e used t|ogether |
|00024be0| 6f 6e 20 74 68 65 20 73 | 61 6d 65 20 72 65 66 6c |on the s|ame refl|
|00024bf0| 65 63 74 6f 72 2e 0a 0a | 0a 55 4e 49 43 41 53 54 |ector...|.UNICAST|
|00024c00| 2d 52 45 46 20 69 70 2d | 61 64 64 72 65 73 73 0a |-REF ip-|address.|
|00024c10| 0a 55 4e 49 43 41 53 54 | 2d 52 45 46 20 69 73 20 |.UNICAST|-REF is |
|00024c20| 75 73 65 64 20 74 6f 20 | 22 74 69 65 20 74 6f 67 |used to |"tie tog|
|00024c30| 65 74 68 65 72 22 20 74 | 77 6f 20 6f 72 20 6d 6f |ether" t|wo or mo|
|00024c40| 72 65 20 72 65 66 6c 65 | 63 74 6f 72 73 2e 20 20 |re refle|ctors. |
|00024c50| 54 68 69 73 20 0a 66 65 | 61 74 75 72 65 20 69 73 |This .fe|ature is|
|00024c60| 20 75 73 65 66 75 6c 20 | 69 66 20 79 6f 75 20 61 | useful |if you a|
|00024c70| 72 65 20 72 75 6e 6e 69 | 6e 67 20 61 20 63 6f 6e |re runni|ng a con|
|00024c80| 66 65 72 65 6e 63 65 20 | 77 68 6f 73 65 20 70 61 |ference |whose pa|
|00024c90| 72 74 69 63 69 70 61 6e | 74 73 20 0a 61 72 65 20 |rticipan|ts .are |
|00024ca0| 73 70 72 65 61 64 20 6f | 75 74 20 61 63 72 6f 73 |spread o|ut acros|
|00024cb0| 73 20 74 68 65 20 63 6f | 75 6e 74 72 79 2e 20 20 |s the co|untry. |
|00024cc0| 46 6f 72 20 65 78 61 6d | 70 6c 65 2c 20 69 66 20 |For exam|ple, if |
|00024cd0| 79 6f 75 20 68 61 76 65 | 20 73 6f 6d 65 20 0a 66 |you have| some .f|
|00024ce0| 6f 6c 6b 73 20 6f 6e 20 | 74 68 65 20 65 61 73 74 |olks on |the east|
|00024cf0| 20 63 6f 61 73 74 2c 20 | 61 6e 6f 74 68 65 72 20 | coast, |another |
|00024d00| 67 72 6f 75 70 20 69 6e | 20 43 61 6c 69 66 6f 72 |group in| Califor|
|00024d10| 6e 69 61 2c 20 61 6e 64 | 20 70 65 72 68 61 70 73 |nia, and| perhaps|
|00024d20| 20 61 20 0a 74 68 69 72 | 64 20 67 72 6f 75 70 20 | a .thir|d group |
|00024d30| 69 6e 20 74 68 65 20 73 | 6f 75 74 68 2c 20 65 61 |in the s|outh, ea|
|00024d40| 63 68 20 67 72 6f 75 70 | 20 63 61 6e 20 63 6f 6e |ch group| can con|
|00024d50| 6e 65 63 74 20 74 6f 20 | 74 68 65 69 72 20 6c 6f |nect to |their lo|
|00024d60| 63 61 6c 20 0a 72 65 66 | 6c 65 63 74 6f 72 20 61 |cal .ref|lector a|
|00024d70| 6e 64 20 75 73 69 6e 67 | 20 55 4e 49 43 41 53 54 |nd using| UNICAST|
|00024d80| 2d 52 45 46 20 79 6f 75 | 20 63 61 6e 20 63 6f 6e |-REF you| can con|
|00024d90| 6e 65 63 74 20 61 6c 6c | 20 74 68 72 65 65 20 72 |nect all| three r|
|00024da0| 65 66 6c 65 63 74 6f 72 | 73 20 0a 74 6f 67 65 74 |eflector|s .toget|
|00024db0| 68 65 72 2e 20 20 54 68 | 69 73 20 6d 61 6b 65 73 |her. Th|is makes|
|00024dc0| 20 66 6f 72 20 61 20 6d | 6f 72 65 20 65 66 66 69 | for a m|ore effi|
|00024dd0| 63 69 65 6e 74 20 75 73 | 65 20 6f 66 20 6e 65 74 |cient us|e of net|
|00024de0| 77 6f 72 6b 20 62 61 6e | 64 77 69 64 74 68 2c 20 |work ban|dwidth, |
|00024df0| 0a 72 61 74 68 65 72 20 | 74 68 61 6e 20 68 61 76 |.rather |than hav|
|00024e00| 69 6e 67 20 65 76 65 72 | 79 6f 6e 65 20 63 6f 6e |ing ever|yone con|
|00024e10| 6e 65 63 74 20 74 6f 20 | 61 20 73 69 6e 67 6c 65 |nect to |a single|
|00024e20| 20 72 65 66 6c 65 63 74 | 6f 72 2e 20 20 45 61 63 | reflect|or. Eac|
|00024e30| 68 20 0a 72 65 66 6c 65 | 63 74 6f 72 20 73 68 6f |h .refle|ctor sho|
|00024e40| 75 6c 64 20 68 61 76 65 | 20 61 20 55 4e 49 43 41 |uld have| a UNICA|
|00024e50| 53 54 2d 52 45 46 20 66 | 6f 72 20 65 61 63 68 20 |ST-REF f|or each |
|00024e60| 6f 74 68 65 72 20 72 65 | 66 6c 65 63 74 6f 72 2e |other re|flector.|
|00024e70| 0a 0a 0a 4d 43 2d 47 52 | 4f 55 50 20 74 74 6c 20 |...MC-GR|OUP ttl |
|00024e80| 6d 75 6c 74 69 63 61 73 | 74 2d 61 64 64 72 0a 0a |multicas|t-addr..|
|00024e90| 4d 43 2d 47 52 4f 55 50 | 20 69 73 20 73 69 6d 69 |MC-GROUP| is simi|
|00024ea0| 6c 61 72 20 74 6f 20 55 | 4e 49 43 41 53 54 2d 52 |lar to U|NICAST-R|
|00024eb0| 45 46 2c 20 62 75 74 20 | 74 61 6b 65 73 20 61 64 |EF, but |takes ad|
|00024ec0| 76 61 6e 74 61 67 65 20 | 6f 66 20 49 50 20 0a 4d |vantage |of IP .M|
|00024ed0| 75 6c 74 69 63 61 73 74 | 69 6e 67 2e 20 20 54 77 |ulticast|ing. Tw|
|00024ee0| 6f 20 6f 72 20 6d 6f 72 | 65 20 72 65 66 6c 65 63 |o or mor|e reflec|
|00024ef0| 74 6f 72 73 20 63 61 6e | 20 62 65 20 22 74 69 65 |tors can| be "tie|
|00024f00| 64 20 74 6f 67 65 74 68 | 65 72 22 20 75 73 69 6e |d togeth|er" usin|
|00024f10| 67 20 49 50 20 0a 6d 75 | 6c 74 69 63 61 73 74 2e |g IP .mu|lticast.|
|00024f20| 20 20 52 65 66 6c 65 63 | 74 6f 72 73 20 63 6f 6e | Reflec|tors con|
|00024f30| 66 69 67 75 72 65 64 20 | 77 69 74 68 20 4d 43 2d |figured |with MC-|
|00024f40| 47 52 4f 55 50 20 77 69 | 6c 6c 20 73 65 6e 64 20 |GROUP wi|ll send |
|00024f50| 6f 75 74 20 61 6c 6c 20 | 0a 43 55 2d 53 65 65 4d |out all |.CU-SeeM|
|00024f60| 65 20 73 74 72 65 61 6d | 73 20 74 6f 20 74 68 65 |e stream|s to the|
|00024f70| 20 73 70 65 63 69 66 69 | 65 64 20 6d 75 6c 74 69 | specifi|ed multi|
|00024f80| 63 61 73 74 20 61 64 64 | 72 65 73 73 20 75 73 69 |cast add|ress usi|
|00024f90| 6e 67 20 74 68 65 20 0a | 73 70 65 63 69 66 69 65 |ng the .|specifie|
|00024fa0| 64 20 74 74 6c 2c 20 69 | 6e 20 61 64 64 69 74 69 |d ttl, i|n additi|
|00024fb0| 6f 6e 20 74 68 65 79 20 | 77 69 6c 6c 20 61 63 63 |on they |will acc|
|00024fc0| 65 70 74 20 69 6e 63 6f | 6d 69 6e 67 20 43 55 2d |ept inco|ming CU-|
|00024fd0| 53 65 65 4d 65 20 73 74 | 72 65 61 6d 73 20 0a 66 |SeeMe st|reams .f|
|00024fe0| 72 6f 6d 20 74 68 61 74 | 20 6d 75 6c 74 69 63 61 |rom that| multica|
|00024ff0| 73 74 20 61 64 64 72 65 | 73 73 2e 0a 0a 0a 4e 4f |st addre|ss....NO|
|00025000| 2d 4c 4f 43 41 4c 2d 53 | 45 4e 44 45 52 53 0a 0a |-LOCAL-S|ENDERS..|
|00025010| 4e 4f 2d 4c 4f 43 41 4c | 2d 53 45 4e 44 45 52 53 |NO-LOCAL|-SENDERS|
|00025020| 20 69 73 20 75 73 65 64 | 20 69 6e 20 61 20 63 6f | is used| in a co|
|00025030| 6e 66 69 67 75 72 61 74 | 69 6f 6e 20 66 69 6c 65 |nfigurat|ion file|
|00025040| 20 74 68 61 74 20 61 6c | 73 6f 20 63 6f 6e 74 61 | that al|so conta|
|00025050| 69 6e 73 20 0a 65 69 74 | 68 65 72 20 4f 42 54 41 |ins .eit|her OBTA|
|00025060| 49 4e 2d 42 43 43 20 6f | 72 20 4d 43 2d 49 4e 2e |IN-BCC o|r MC-IN.|
|00025070| 20 20 4e 4f 2d 4c 4f 43 | 41 4c 2d 53 45 4e 44 45 | NO-LOC|AL-SENDE|
|00025080| 52 53 20 73 65 74 73 20 | 75 70 20 61 20 72 65 66 |RS sets |up a ref|
|00025090| 6c 65 63 74 6f 72 20 74 | 68 61 74 20 0a 69 73 20 |lector t|hat .is |
|000250a0| 6f 6e 6c 79 20 75 73 65 | 64 20 69 6e 20 76 69 65 |only use|d in vie|
|000250b0| 77 69 6e 67 20 61 20 63 | 6f 6e 66 65 72 65 6e 63 |wing a c|onferenc|
|000250c0| 65 20 74 61 6b 69 6e 67 | 20 70 6c 61 63 65 20 6f |e taking| place o|
|000250d0| 6e 20 61 20 70 72 69 6d | 61 72 79 20 72 65 66 6c |n a prim|ary refl|
|000250e0| 65 63 74 6f 72 2e 20 20 | 0a 53 69 6e 63 65 20 74 |ector. |.Since t|
|000250f0| 68 65 20 70 75 72 70 6f | 73 65 20 69 73 20 74 6f |he purpo|se is to|
|00025100| 20 76 69 65 77 20 74 68 | 65 20 6d 61 69 6e 20 65 | view th|e main e|
|00025110| 76 65 6e 74 2c 20 79 6f | 75 20 63 61 6e 20 64 69 |vent, yo|u can di|
|00025120| 73 61 62 6c 65 20 6c 6f | 63 61 6c 20 0a 69 6e 74 |sable lo|cal .int|
|00025130| 65 72 61 63 74 69 6f 6e | 20 61 6d 6f 6e 67 20 74 |eraction| among t|
|00025140| 68 6f 73 65 20 77 68 6f | 20 68 61 76 65 20 63 6f |hose who| have co|
|00025150| 6e 6e 65 63 74 65 64 20 | 74 6f 20 77 61 74 63 68 |nnected |to watch|
|00025160| 20 74 68 65 20 6d 61 69 | 6e 20 65 76 65 6e 74 2e | the mai|n event.|
|00025170| 20 20 0a 54 68 69 73 20 | 77 69 6c 6c 20 72 65 64 | .This |will red|
|00025180| 75 63 65 20 74 68 65 20 | 6c 6f 61 64 20 6f 6e 20 |uce the |load on |
|00025190| 79 6f 75 72 20 73 65 63 | 6f 6e 64 61 72 79 20 72 |your sec|ondary r|
|000251a0| 65 66 6c 65 63 74 6f 72 | 2e 0a 0a 4d 43 2d 54 4f |eflector|...MC-TO|
|000251b0| 2d 4e 56 20 74 74 6c 20 | 6d 75 6c 74 69 63 61 73 |-NV ttl |multicas|
|000251c0| 74 2d 61 64 64 72 0a 0a | 4d 43 2d 54 4f 2d 4e 56 |t-addr..|MC-TO-NV|
|000251d0| 20 69 73 20 75 73 65 64 | 20 74 6f 20 73 65 6e 64 | is used| to send|
|000251e0| 20 43 55 2d 53 65 65 4d | 65 20 73 74 72 65 61 6d | CU-SeeM|e stream|
|000251f0| 73 20 74 6f 20 6e 76 2e | 20 4e 76 20 69 73 20 61 |s to nv.| Nv is a|
|00025200| 20 55 4e 49 58 20 0a 62 | 61 73 65 64 20 76 69 64 | UNIX .b|ased vid|
|00025210| 65 6f 20 63 6f 6e 66 65 | 72 65 6e 63 69 6e 67 20 |eo confe|rencing |
|00025220| 61 70 70 6c 69 63 61 74 | 69 6f 6e 2e 20 20 6e 76 |applicat|ion. nv|
|00025230| 20 6d 75 73 74 20 62 65 | 20 73 74 61 72 74 65 64 | must be| started|
|00025240| 20 77 69 74 68 20 74 68 | 65 20 0a 55 44 50 20 70 | with th|e .UDP p|
|00025250| 6f 72 74 20 6e 75 6d 62 | 65 72 20 74 68 61 74 20 |ort numb|er that |
|00025260| 43 55 2d 53 65 65 4d 65 | 20 75 73 65 73 20 77 68 |CU-SeeMe| uses wh|
|00025270| 69 63 68 20 69 73 20 37 | 36 35 30 2e 20 20 50 4c |ich is 7|650. PL|
|00025280| 45 41 53 45 20 4e 4f 54 | 45 20 54 48 41 54 20 0a |EASE NOT|E THAT .|
|00025290| 43 55 52 52 45 4e 54 4c | 59 20 6e 76 20 43 41 4e |CURRENTL|Y nv CAN|
|000252a0| 20 44 49 53 50 4c 41 59 | 20 43 55 2d 53 65 65 4d | DISPLAY| CU-SeeM|
|000252b0| 65 20 56 49 44 45 4f 2c | 20 42 55 54 20 43 55 2d |e VIDEO,| BUT CU-|
|000252c0| 53 65 65 4d 65 20 43 41 | 4e 20 4e 4f 54 20 0a 44 |SeeMe CA|N NOT .D|
|000252d0| 49 53 50 4c 41 59 20 6e | 76 20 56 49 44 45 4f 2e |ISPLAY n|v VIDEO.|
|000252e0| 20 20 54 68 69 73 20 68 | 61 73 20 62 65 65 6e 20 | This h|as been |
|000252f0| 61 20 70 6f 69 6e 74 20 | 6f 66 20 63 6f 6e 66 75 |a point |of confu|
|00025300| 73 69 6f 6e 20 69 6e 20 | 74 68 65 20 70 61 73 74 |sion in |the past|
|00025310| 2e 0a 0a 4d 49 4e 2d 4d | 41 43 2d 56 45 52 53 49 |...MIN-M|AC-VERSI|
|00025320| 4f 4e 20 76 65 72 73 69 | 6f 6e 2d 6e 75 6d 62 65 |ON versi|on-numbe|
|00025330| 72 20 6d 73 67 2d 73 74 | 72 69 6e 67 0a 2f 2f 0a |r msg-st|ring.//.|
|00025340| 0a 4d 49 4e 2d 4d 41 43 | 2d 56 45 52 53 49 4f 4e |.MIN-MAC|-VERSION|
|00025350| 20 69 73 20 75 73 65 64 | 20 74 6f 20 65 6e 73 75 | is used| to ensu|
|00025360| 72 65 20 74 68 61 74 20 | 61 6c 6c 20 6f 66 20 74 |re that |all of t|
|00025370| 68 65 20 4d 61 63 20 63 | 6c 69 65 6e 74 73 20 63 |he Mac c|lients c|
|00025380| 6f 6e 6e 65 63 74 69 6e | 67 20 74 6f 20 0a 79 6f |onnectin|g to .yo|
|00025390| 75 72 20 72 65 66 6c 65 | 63 74 6f 72 20 61 72 65 |ur refle|ctor are|
|000253a0| 20 61 74 20 6c 65 61 73 | 74 20 61 74 20 73 6f 6d | at leas|t at som|
|000253b0| 65 20 6d 69 6e 69 6d 75 | 6d 20 76 65 72 73 69 6f |e minimu|m versio|
|000253c0| 6e 20 6e 75 6d 62 65 72 | 2e 20 20 54 68 69 73 20 |n number|. This |
|000253d0| 69 73 20 0a 75 73 65 66 | 75 6c 20 69 66 20 79 6f |is .usef|ul if yo|
|000253e0| 75 20 61 72 65 20 72 75 | 6e 6e 69 6e 67 20 61 20 |u are ru|nning a |
|000253f0| 63 6f 6e 66 65 72 65 6e | 63 65 20 61 6e 64 20 74 |conferen|ce and t|
|00025400| 68 65 72 65 20 69 73 20 | 73 6f 6d 65 20 66 65 61 |here is |some fea|
|00025410| 74 75 72 65 20 69 6e 20 | 61 20 0a 6c 61 74 65 72 |ture in |a .later|
|00025420| 20 76 65 72 73 69 6f 6e | 20 6f 66 20 43 55 2d 53 | version| of CU-S|
|00025430| 65 65 4d 65 2c 20 6c 69 | 6b 65 20 61 75 64 69 6f |eeMe, li|ke audio|
|00025440| 2c 20 74 68 61 74 20 79 | 6f 75 20 77 61 6e 74 20 |, that y|ou want |
|00025450| 74 6f 20 75 73 65 20 64 | 75 72 69 6e 67 20 74 68 |to use d|uring th|
|00025460| 65 20 0a 63 6f 6e 66 65 | 72 65 6e 63 65 2e 20 20 |e .confe|rence. |
|00025470| 42 79 20 73 65 74 74 69 | 6e 67 20 61 20 6d 69 6e |By setti|ng a min|
|00025480| 69 6d 75 6d 20 76 65 72 | 73 69 6f 6e 20 6e 75 6d |imum ver|sion num|
|00025490| 62 65 72 20 6f 6e 6c 79 | 20 74 68 6f 73 65 20 63 |ber only| those c|
|000254a0| 6c 69 65 6e 74 73 20 0a | 77 69 74 68 20 61 20 76 |lients .|with a v|
|000254b0| 65 72 73 69 6f 6e 20 6f | 66 20 43 55 2d 53 65 65 |ersion o|f CU-See|
|000254c0| 4d 65 20 67 72 65 61 74 | 65 72 20 6f 72 20 65 71 |Me great|er or eq|
|000254d0| 75 61 6c 20 74 6f 20 74 | 68 65 20 6f 6e 65 20 64 |ual to t|he one d|
|000254e0| 65 73 69 67 6e 61 74 65 | 64 2c 0a 77 69 6c 6c 20 |esignate|d,.will |
|000254f0| 62 65 20 61 6c 6c 6f 77 | 65 64 20 74 6f 20 63 6f |be allow|ed to co|
|00025500| 6e 6e 65 63 74 20 74 6f | 20 74 68 65 20 72 65 66 |nnect to| the ref|
|00025510| 6c 65 63 74 6f 72 2e 20 | 54 68 65 20 6d 73 67 20 |lector. |The msg |
|00025520| 73 74 72 69 6e 67 20 69 | 73 20 61 6e 20 61 73 63 |string i|s an asc|
|00025530| 69 69 20 0a 73 74 72 69 | 6e 67 20 74 65 72 6d 69 |ii .stri|ng termi|
|00025540| 6e 61 74 65 64 20 62 79 | 20 61 20 63 61 72 72 69 |nated by| a carri|
|00025550| 61 67 65 20 72 65 74 75 | 72 6e 20 66 6f 6c 6c 6f |age retu|rn follo|
|00025560| 77 65 64 20 62 79 20 74 | 77 6f 20 62 61 63 6b 20 |wed by t|wo back |
|00025570| 73 6c 61 73 68 65 73 2e | 0a 54 68 69 73 20 69 73 |slashes.|.This is|
|00025580| 20 74 68 65 20 73 74 72 | 69 6e 67 20 74 68 61 74 | the str|ing that|
|00025590| 20 77 69 6c 6c 20 61 70 | 70 65 61 72 20 6f 6e 20 | will ap|pear on |
|000255a0| 74 68 65 20 75 73 65 72 | 27 73 20 73 63 72 65 65 |the user|'s scree|
|000255b0| 6e 20 69 66 20 74 68 65 | 20 76 65 72 73 69 6f 6e |n if the| version|
|000255c0| 0a 68 65 20 75 73 69 6e | 67 20 69 73 20 6c 65 73 |.he usin|g is les|
|000255d0| 73 20 74 68 65 6e 20 74 | 68 65 20 73 70 65 63 69 |s then t|he speci|
|000255e0| 66 69 65 64 20 76 65 72 | 73 69 6f 6e 2d 6e 75 6d |fied ver|sion-num|
|000255f0| 62 65 72 2e 20 20 54 68 | 65 20 63 75 72 72 65 6e |ber. Th|e curren|
|00025600| 74 20 76 65 72 73 69 6f | 6e 0a 6e 75 6d 62 65 72 |t versio|n.number|
|00025610| 20 66 6f 72 20 4d 61 63 | 20 62 61 73 65 64 20 43 | for Mac| based C|
|00025620| 55 2d 53 65 65 4d 65 2e | 37 30 62 31 20 69 73 20 |U-SeeMe.|70b1 is |
|00025630| 31 32 2e 0a 0a 4d 49 4e | 2d 50 43 2d 56 45 52 53 |12...MIN|-PC-VERS|
|00025640| 49 4f 4e 20 76 65 72 73 | 69 6f 6e 2d 6e 75 6d 62 |ION vers|ion-numb|
|00025650| 65 72 20 6d 73 67 2d 73 | 74 72 69 6e 67 0a 2f 2f |er msg-s|tring.//|
|00025660| 0a 0a 4d 49 4e 2d 50 43 | 2d 56 45 52 53 49 4f 4e |..MIN-PC|-VERSION|
|00025670| 20 69 73 20 75 73 65 64 | 20 74 6f 20 65 6e 73 75 | is used| to ensu|
|00025680| 72 65 20 74 68 61 74 20 | 61 6c 6c 20 6f 66 20 74 |re that |all of t|
|00025690| 68 65 20 50 43 20 63 6c | 69 65 6e 74 73 20 63 6f |he PC cl|ients co|
|000256a0| 6e 6e 65 63 74 69 6e 67 | 20 74 6f 20 0a 79 6f 75 |nnecting| to .you|
|000256b0| 72 20 72 65 66 6c 65 63 | 74 6f 72 20 61 72 65 20 |r reflec|tor are |
|000256c0| 61 74 20 6c 65 61 73 74 | 20 61 74 20 73 6f 6d 65 |at least| at some|
|000256d0| 20 6d 69 6e 69 6d 75 6d | 20 76 65 72 73 69 6f 6e | minimum| version|
|000256e0| 20 6e 75 6d 62 65 72 2e | 20 20 54 68 69 73 20 69 | number.| This i|
|000256f0| 73 20 0a 75 73 65 66 75 | 6c 20 69 66 20 79 6f 75 |s .usefu|l if you|
|00025700| 20 61 72 65 20 72 75 6e | 6e 69 6e 67 20 61 20 63 | are run|ning a c|
|00025710| 6f 6e 66 65 72 65 6e 63 | 65 20 61 6e 64 20 74 68 |onferenc|e and th|
|00025720| 65 72 65 20 69 73 20 73 | 6f 6d 65 20 66 65 61 74 |ere is s|ome feat|
|00025730| 75 72 65 20 69 6e 20 61 | 20 0a 6c 61 74 65 72 20 |ure in a| .later |
|00025740| 76 65 72 73 69 6f 6e 20 | 6f 66 20 43 55 2d 53 65 |version |of CU-Se|
|00025750| 65 4d 65 2c 20 6c 69 6b | 65 20 61 75 64 69 6f 2c |eMe, lik|e audio,|
|00025760| 20 74 68 61 74 20 79 6f | 75 20 77 61 6e 74 20 74 | that yo|u want t|
|00025770| 6f 20 75 73 65 20 64 75 | 72 69 6e 67 20 74 68 65 |o use du|ring the|
|00025780| 20 0a 63 6f 6e 66 65 72 | 65 6e 63 65 2e 20 20 42 | .confer|ence. B|
|00025790| 79 20 73 65 74 74 69 6e | 67 20 61 20 6d 69 6e 69 |y settin|g a mini|
|000257a0| 6d 75 6d 20 76 65 72 73 | 69 6f 6e 20 6e 75 6d 62 |mum vers|ion numb|
|000257b0| 65 72 20 6f 6e 6c 79 20 | 74 68 6f 73 65 20 63 6c |er only |those cl|
|000257c0| 69 65 6e 74 73 20 0a 77 | 69 74 68 20 61 20 76 65 |ients .w|ith a ve|
|000257d0| 72 73 69 6f 6e 20 6f 66 | 20 43 55 2d 53 65 65 4d |rsion of| CU-SeeM|
|000257e0| 65 20 67 72 65 61 74 65 | 72 20 6f 72 20 65 71 75 |e greate|r or equ|
|000257f0| 61 6c 20 74 6f 20 74 68 | 65 20 6f 6e 65 20 64 65 |al to th|e one de|
|00025800| 73 69 67 6e 61 74 65 64 | 2c 0a 77 69 6c 6c 20 62 |signated|,.will b|
|00025810| 65 20 61 6c 6c 6f 77 65 | 64 20 74 6f 20 63 6f 6e |e allowe|d to con|
|00025820| 6e 65 63 74 20 74 6f 20 | 74 68 65 20 72 65 66 6c |nect to |the refl|
|00025830| 65 63 74 6f 72 2e 20 54 | 68 65 20 6d 73 67 20 73 |ector. T|he msg s|
|00025840| 74 72 69 6e 67 20 69 73 | 20 61 6e 20 61 73 63 69 |tring is| an asci|
|00025850| 69 20 0a 73 74 72 69 6e | 67 20 74 65 72 6d 69 6e |i .strin|g termin|
|00025860| 61 74 65 64 20 62 79 20 | 61 20 63 61 72 72 69 61 |ated by |a carria|
|00025870| 67 65 20 72 65 74 75 72 | 6e 20 66 6f 6c 6c 6f 77 |ge retur|n follow|
|00025880| 65 64 20 62 79 20 74 77 | 6f 20 62 61 63 6b 20 73 |ed by tw|o back s|
|00025890| 6c 61 73 68 65 73 2e 0a | 54 68 69 73 20 69 73 20 |lashes..|This is |
|000258a0| 74 68 65 20 73 74 72 69 | 6e 67 20 74 68 61 74 20 |the stri|ng that |
|000258b0| 77 69 6c 6c 20 61 70 70 | 65 61 72 20 6f 6e 20 74 |will app|ear on t|
|000258c0| 68 65 20 75 73 65 72 27 | 73 20 73 63 72 65 65 6e |he user'|s screen|
|000258d0| 20 69 66 20 74 68 65 20 | 76 65 72 73 69 6f 6e 0a | if the |version.|
|000258e0| 68 65 20 75 73 69 6e 67 | 20 69 73 20 6c 65 73 73 |he using| is less|
|000258f0| 20 74 68 65 6e 20 74 68 | 65 20 73 70 65 63 69 66 | then th|e specif|
|00025900| 69 65 64 20 76 65 72 73 | 69 6f 6e 2d 6e 75 6d 62 |ied vers|ion-numb|
|00025910| 65 72 2e 20 20 54 68 65 | 20 63 75 72 72 65 6e 74 |er. The| current|
|00025920| 20 76 65 72 73 69 6f 6e | 0a 6e 75 6d 62 65 72 20 | version|.number |
|00025930| 66 6f 72 20 50 43 20 62 | 61 73 65 64 20 43 55 2d |for PC b|ased CU-|
|00025940| 53 65 65 4d 65 30 2e 33 | 34 20 69 73 20 32 2e 0a |SeeMe0.3|4 is 2..|
|00025950| 0a 0a 44 45 4e 59 20 69 | 70 2d 61 64 64 72 65 73 |..DENY i|p-addres|
|00025960| 73 20 6d 73 67 2d 73 74 | 72 69 6e 67 0a 2f 2f 0a |s msg-st|ring.//.|
|00025970| 0a 44 65 6e 79 20 63 61 | 75 73 65 73 20 74 68 65 |.Deny ca|uses the|
|00025980| 20 72 65 66 6c 65 63 74 | 6f 72 20 74 6f 20 64 65 | reflect|or to de|
|00025990| 6e 79 20 61 63 63 65 73 | 73 20 74 6f 20 74 68 65 |ny acces|s to the|
|000259a0| 20 63 6c 69 65 6e 74 20 | 61 74 20 74 68 65 20 73 | client |at the s|
|000259b0| 70 65 63 69 66 69 65 64 | 20 0a 49 50 20 61 64 64 |pecified| .IP add|
|000259c0| 72 65 73 73 2e 0a 0a 0a | 52 45 46 4d 4f 4e 20 56 |ress....|REFMON V|
|000259d0| 65 72 73 69 6f 6e 20 31 | 2e 30 30 0a 0a 52 65 66 |ersion 1|.00..Ref|
|000259e0| 6d 6f 6e 20 73 74 61 6e | 64 73 20 66 6f 72 20 72 |mon stan|ds for r|
|000259f0| 65 66 6c 65 63 74 6f 72 | 20 6d 6f 6e 69 74 6f 72 |eflector| monitor|
|00025a00| 2c 20 69 74 20 69 73 20 | 61 20 70 72 6f 67 72 61 |, it is |a progra|
|00025a10| 6d 20 74 68 61 74 20 69 | 73 20 75 73 65 64 20 74 |m that i|s used t|
|00025a20| 6f 20 0a 6d 6f 6e 69 74 | 6f 72 20 74 68 65 20 73 |o .monit|or the s|
|00025a30| 74 61 74 65 20 6f 66 20 | 79 6f 75 72 20 72 65 66 |tate of |your ref|
|00025a40| 6c 65 63 74 6f 72 2e 20 | 20 43 75 72 72 65 6e 74 |lector. | Current|
|00025a50| 6c 79 20 72 65 66 6d 6f | 6e 20 68 61 73 20 6f 6e |ly refmo|n has on|
|00025a60| 65 20 73 77 69 74 63 68 | 20 0a 2d 73 20 77 68 69 |e switch| .-s whi|
|00025a70| 63 68 20 69 73 20 75 73 | 65 64 20 74 6f 20 73 70 |ch is us|ed to sp|
|00025a80| 65 63 69 66 79 20 74 68 | 65 20 68 6f 73 74 20 6e |ecify th|e host n|
|00025a90| 61 6d 65 20 6f 72 20 49 | 50 20 61 64 64 72 65 73 |ame or I|P addres|
|00025aa0| 73 20 6f 66 20 74 68 65 | 20 0a 6d 61 63 68 69 6e |s of the| .machin|
|00025ab0| 65 20 72 75 6e 6e 69 6e | 67 20 74 68 65 20 72 65 |e runnin|g the re|
|00025ac0| 66 6c 65 63 74 6f 72 2e | 20 20 46 6f 72 20 65 78 |flector.| For ex|
|00025ad0| 61 6d 70 6c 65 20 0a 0a | 72 65 66 6d 6f 6e 20 2d |ample ..|refmon -|
|00025ae0| 73 20 68 65 6c 6c 62 61 | 74 2e 63 69 74 2e 63 6f |s hellba|t.cit.co|
|00025af0| 72 6e 65 6c 6c 2e 65 64 | 75 0a 0a 77 69 6c 6c 20 |rnell.ed|u..will |
|00025b00| 73 74 61 72 74 20 75 70 | 20 61 20 72 65 66 6d 6f |start up| a refmo|
|00025b10| 6e 20 74 6f 20 71 75 65 | 72 79 20 74 68 65 20 72 |n to que|ry the r|
|00025b20| 65 66 6c 65 63 74 6f 72 | 20 72 75 6e 6e 69 6e 67 |eflector| running|
|00025b30| 20 6f 6e 20 0a 68 65 6c | 6c 62 61 74 2e 63 69 74 | on .hel|lbat.cit|
|00025b40| 2e 63 6f 72 6e 65 6c 6c | 2e 65 64 75 2e 20 20 4f |.cornell|.edu. O|
|00025b50| 6e 63 65 20 72 65 66 6d | 6f 6e 20 69 73 20 73 74 |nce refm|on is st|
|00025b60| 61 72 74 65 64 20 75 70 | 20 69 74 20 61 63 63 65 |arted up| it acce|
|00025b70| 70 74 73 20 0a 63 6f 6d | 6d 61 6e 64 73 2c 20 74 |pts .com|mands, t|
|00025b80| 68 65 20 63 6f 6d 6d 61 | 6e 64 73 20 63 61 75 73 |he comma|nds caus|
|00025b90| 65 20 61 20 71 75 65 72 | 79 20 74 6f 20 62 65 20 |e a quer|y to be |
|00025ba0| 73 65 6e 74 20 74 6f 20 | 74 68 65 20 72 65 66 6c |sent to |the refl|
|00025bb0| 65 63 74 6f 72 20 0a 61 | 6e 64 20 74 68 65 20 72 |ector .a|nd the r|
|00025bc0| 65 66 6c 65 63 74 6f 72 | 27 73 20 72 65 73 70 6f |eflector|'s respo|
|00025bd0| 6e 73 65 20 69 73 20 70 | 72 69 6e 74 65 64 20 6f |nse is p|rinted o|
|00025be0| 75 74 20 6f 6e 20 74 68 | 65 20 73 63 72 65 65 6e |ut on th|e screen|
|00025bf0| 2e 20 20 54 68 65 20 0a | 63 6f 6d 6d 61 6e 64 73 |. The .|commands|
|00025c00| 20 61 72 65 20 74 68 65 | 20 66 6f 6c 6c 6f 77 69 | are the| followi|
|00025c10| 6e 67 3a 0a 0a 71 75 69 | 74 0a 09 71 75 69 74 73 |ng:..qui|t..quits|
|00025c20| 20 74 68 65 20 72 65 66 | 6d 6f 6e 20 61 70 70 6c | the ref|mon appl|
|00025c30| 69 63 61 74 69 6f 6e 2e | 0a 0a 0a 76 65 72 73 69 |ication.|...versi|
|00025c40| 6f 6e 0a 09 73 68 6f 77 | 73 20 74 68 65 20 76 65 |on..show|s the ve|
|00025c50| 72 73 69 6f 6e 20 6e 75 | 6d 62 65 72 20 6f 66 20 |rsion nu|mber of |
|00025c60| 74 68 65 20 72 65 66 6c | 65 63 74 6f 72 2e 0a 0a |the refl|ector...|
|00025c70| 0a 77 68 6f 0a 09 73 68 | 6f 77 73 20 61 20 6c 69 |.who..sh|ows a li|
|00025c80| 73 74 20 6f 66 20 74 68 | 65 20 70 61 72 74 69 63 |st of th|e partic|
|00025c90| 69 70 61 6e 74 73 20 63 | 75 72 72 65 6e 74 6c 79 |ipants c|urrently|
|00025ca0| 20 63 6f 6e 6e 65 63 74 | 65 64 20 74 6f 20 74 68 | connect|ed to th|
|00025cb0| 65 20 0a 09 72 65 66 6c | 65 63 74 6f 72 2e 0a 0a |e ..refl|ector...|
|00025cc0| 0a 6d 61 76 65 6e 0a 09 | 73 68 6f 77 73 20 61 20 |.maven..|shows a |
|00025cd0| 6c 69 73 74 20 6f 66 20 | 61 6c 6c 20 6d 61 76 65 |list of |all mave|
|00025ce0| 6e 20 63 6c 69 65 6e 74 | 73 20 63 75 72 72 65 6e |n client|s curren|
|00025cf0| 74 6c 79 20 63 6f 6e 6e | 65 63 74 65 64 20 74 6f |tly conn|ected to|
|00025d00| 20 74 68 65 20 0a 09 72 | 65 66 6c 65 63 74 6f 72 | the ..r|eflector|
|00025d10| 2e 0a 0a 0a 75 70 74 69 | 6d 65 0a 09 73 68 6f 77 |....upti|me..show|
|00025d20| 73 20 74 68 65 20 74 69 | 6d 65 20 74 68 61 74 20 |s the ti|me that |
|00025d30| 74 68 65 20 72 65 66 6c | 65 63 74 6f 72 20 77 61 |the refl|ector wa|
|00025d40| 73 20 73 74 61 72 74 65 | 64 2e 0a 0a 0a 74 65 72 |s starte|d....ter|
|00025d50| 6d 0a 09 6b 69 6c 6c 73 | 20 74 68 65 20 72 65 66 |m..kills| the ref|
|00025d60| 6c 65 63 74 6f 72 20 61 | 70 70 6c 69 63 61 74 69 |lector a|pplicati|
|00025d70| 6f 6e 2e 0a 0a 0a 70 61 | 72 61 6d 0a 09 70 72 69 |on....pa|ram..pri|
|00025d80| 6e 74 73 20 6f 75 74 20 | 74 68 65 20 63 6f 6e 66 |nts out |the conf|
|00025d90| 69 67 75 72 61 74 69 6f | 6e 20 66 69 6c 65 2e 0a |iguratio|n file..|
|00025da0| 0a 0a 68 65 6c 70 0a 09 | 70 72 69 6e 74 73 20 6f |..help..|prints o|
|00025db0| 75 74 20 74 68 69 73 20 | 6c 69 73 74 20 6f 66 20 |ut this |list of |
|00025dc0| 63 6f 6d 6d 61 6e 64 73 | 0a 2e 20 20 54 68 69 73 |commands|.. This|
|00025dd0| 20 61 6c 6c 6f 77 73 0a | 61 20 64 65 73 69 67 6e | allows.|a design|
|00025de0| 61 74 65 64 20 70 61 72 | 74 69 63 69 70 61 6e 74 |ated par|ticipant|
|00025df0| 20 74 6f 20 64 79 6e 61 | 6d 69 63 61 6c 6c 79 20 | to dyna|mically |
|00025e00| 32 2e 33 30 62 31 2f 72 | 75 6e 5f 72 65 66 6c 65 |2.30b1/r|un_refle|
|00025e10| 63 74 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |ct......|........|
|00025e20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025e30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025e40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025e50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025e60| 00 00 00 00 31 30 30 37 | 35 35 20 00 30 30 30 30 |....1007|55 .0000|
|00025e70| 30 36 20 00 30 30 30 30 | 30 30 20 00 30 30 30 30 |06 .0000|00 .0000|
|00025e80| 30 30 30 30 31 31 35 20 | 30 35 36 30 32 36 33 31 |0000115 |05602631|
|00025e90| 33 33 36 20 30 31 34 34 | 34 35 00 20 30 00 00 00 |336 0144|45. 0...|
|00025ea0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025eb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025ec0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025ed0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025ee0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025ef0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025f00| 00 75 73 74 61 72 00 30 | 30 6c 79 6e 6e 00 00 00 |.ustar.0|0lynn...|
|00025f10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025f20| 00 00 00 00 00 00 00 00 | 00 73 79 73 74 65 6d 00 |........|.system.|
|00025f30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025f40| 00 00 00 00 00 00 00 00 | 00 30 30 30 30 30 30 20 |........|.000000 |
|00025f50| 00 30 30 30 30 30 30 20 | 00 00 00 00 00 00 00 00 |.000000 |........|
|00025f60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025f70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025f80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025f90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025fa0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025fb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025fc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025fd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025fe0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00025ff0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026000| 23 21 2f 62 69 6e 2f 73 | 68 0a 77 68 69 6c 65 20 |#!/bin/s|h.while |
|00026010| 74 72 75 65 3b 20 64 6f | 0a 72 65 66 6c 65 63 74 |true; do|.reflect|
|00026020| 20 68 6f 72 6e 65 74 2e | 63 6f 6e 66 0a 63 70 20 | hornet.|conf.cp |
|00026030| 68 6f 72 6e 65 74 2e 6c | 6f 67 20 68 6f 72 6e 65 |hornet.l|og horne|
|00026040| 74 2e 62 6f 6d 62 0a 64 | 6f 6e 65 0a 0a 6f 75 2c |t.bomb.d|one..ou,|
|00026050| 66 74 70 0a 62 69 6e 3a | 21 3a 32 3a 72 6f 6f 74 |ftp.bin:|!:2:root|
|00026060| 2c 62 69 6e 0a 73 79 73 | 3a 21 3a 33 3a 72 6f 6f |,bin.sys|:!:3:roo|
|00026070| 74 2c 62 69 6e 2c 73 79 | 73 0a 61 64 6d 3a 21 3a |t,bin,sy|s.adm:!:|
|00026080| 34 3a 62 69 6e 2c 61 64 | 6d 0a 75 75 63 70 3a 21 |4:bin,ad|m.uucp:!|
|00026090| 3a 35 3a 75 75 63 70 0a | 6d 61 69 6c 3a 21 3a 36 |:5:uucp.|mail:!:6|
|000260a0| 3a 0a 73 65 63 75 72 69 | 74 79 3a 21 3a 37 3a 72 |:.securi|ty:!:7:r|
|000260b0| 6f 6f 74 0a 63 72 6f 6e | 3a 21 3a 38 3a 72 6f 6f |oot.cron|:!:8:roo|
|000260c0| 74 0a 70 72 69 6e 74 71 | 3a 21 3a 39 3a 6c 70 64 |t.printq|:!:9:lpd|
|000260d0| 0a 61 75 64 69 74 3a 21 | 3a 31 30 3a 72 6f 6f 74 |.audit:!|:10:root|
|000260e0| 0a 65 63 73 3a 21 3a 32 | 38 3a 0a 6e 6f 62 6f 64 |.ecs:!:2|8:.nobod|
|000260f0| 79 3a 21 3a 34 32 39 34 | 39 36 37 32 39 34 3a 6e |y:!:4294|967294:n|
|00026100| 6f 62 6f 64 79 0a 75 73 | 72 3a 21 3a 31 30 30 3a |obody.us|r:!:100:|
|00026110| 67 75 65 73 74 0a 67 75 | 65 73 74 3a 21 3a 32 30 |guest.gu|est:!:20|
|00026120| 30 3a 0a 62 75 69 6c 64 | 3a 21 3a 31 35 32 31 3a |0:.build|:!:1521:|
|00026130| 6c 79 6e 6e 2c 6d 70 6e | 70 0a 30 31 3a 31 3a 3a |lynn,mpn|p.01:1::|
|00026140| 2f 75 2f 66 74 70 3a 2f | 62 69 6e 2f 6b 73 68 0a |/u/ftp:/|bin/ksh.|
|00026150| 61 6e 6f 6e 79 6d 6f 75 | 3a 21 3a 32 30 32 3a 31 |anonymou|:!:202:1|
|00026160| 3a 3a 2f 75 2f 66 74 70 | 3a 2f 62 69 6e 2f 6b 73 |::/u/ftp|:/bin/ks|
|00026170| 68 0a 6b 65 6e 6e 65 72 | 6c 79 3a 21 3a 32 30 33 |h.kenner|ly:!:203|
|00026180| 3a 31 3a 3a 2f 75 2f 6b | 65 6e 6e 65 72 6c 79 3a |:1::/u/k|ennerly:|
|00026190| 2f 62 69 6e 2f 6b 73 68 | 0a 6b 6d 6d 3a 21 3a 37 |/bin/ksh|.kmm:!:7|
|000261a0| 3a 30 3a 3a 2f 75 2f 6b | 6d 6d 3a 2f 62 69 6e 2f |:0::/u/k|mm:/bin/|
|000261b0| 6b 73 68 0a 6b 61 7a 75 | 3a 21 3a 32 30 35 3a 31 |ksh.kazu|:!:205:1|
|000261c0| 3a 3a 2f 75 2f 6b 61 7a | 75 3a 2f 62 69 6e 2f 6b |::/u/kaz|u:/bin/k|
|000261d0| 73 68 0a 6d 70 6e 70 3a | 21 3a 32 30 37 3a 31 3a |sh.mpnp:|!:207:1:|
|000261e0| 3a 2f 68 6f 6d 65 2f 6d | 70 6e 70 3a 2f 62 69 6e |:/home/m|pnp:/bin|
|000261f0| 2f 6b 73 68 0a 74 6f 72 | 20 6d 6f 6e 69 74 6f 72 |/ksh.tor| monitor|
|00026200| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026210| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026220| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026230| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026250| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026260| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026270| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026280| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026290| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000262a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000262b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000262c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000262d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000262e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000262f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026300| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026310| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026320| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026330| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026340| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026350| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026370| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026380| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026390| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000263a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000263b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000263c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000263d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000263e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000263f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026400| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026410| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026420| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026430| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026440| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026450| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026460| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026470| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026480| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026490| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000264a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000264b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000264c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000264d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000264e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000264f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026500| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026510| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026520| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026530| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026540| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026550| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026560| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026570| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026580| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026590| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000265a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000265b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000265c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000265d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000265e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000265f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00026600| 20 20 20 20 69 66 20 28 | 73 74 72 63 61 73 65 63 | if (|strcasec|
|00026610| 6d 70 28 63 6f 64 65 2c | 20 22 4c 4f 47 2d 4c 49 |mp(code,| "LOG-LI|
|00026620| 4d 49 54 22 29 20 3d 3d | 20 30 29 20 0a 20 20 20 |MIT") ==| 0) . |
|00026630| 20 20 20 7b 0a 09 20 73 | 74 72 63 70 79 28 74 6d | {.. s|trcpy(tm|
|00026640| 70 2c 22 6c 6f 67 2d 6c | 69 6d 69 74 20 22 29 3b |p,"log-l|imit ");|
|00026650| 0a 09 20 74 6d 70 20 2b | 3d 20 73 74 72 6c 65 6e |.. tmp +|= strlen|
|00026660| 28 74 6d 70 29 3b 0a 0a | 20 20 20 20 20 20 20 20 |(tmp);..| |
|00026670| 20 69 66 20 28 28 63 6e | 74 20 3d 20 66 73 63 61 | if ((cn|t = fsca|
|00026680| 6e 66 28 63 6f 6e 66 5f | 66 64 2c 20 22 20 25 69 |nf(conf_|fd, " %i|
|00026690| 22 2c 20 26 6c 6f 67 5f | 6c 69 6d 69 74 29 29 20 |", &log_|limit)) |
|000266a0| 21 3d 20 31 29 0a 09 20 | 7b 0a 20 20 20 20 20 20 |!= 1).. |{. |
|000266b0| 20 20 20 20 20 20 70 72 | 69 6e 74 66 20 28 22 4c | pr|intf ("L|
|000266c0| 4f 47 2d 4c 49 4d 49 54 | 20 70 61 72 61 6d 61 74 |OG-LIMIT| paramat|
|000266d0| 65 72 20 63 6f 75 6e 74 | 20 65 72 72 6f 72 5c 6e |er count| error\n|
|000266e0| 22 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |");. | |
|000266f0| 65 78 69 74 28 2d 31 29 | 3b 0a 20 20 20 20 20 20 |exit(-1)|;. |
|00026700| 20 20 20 7d 0a 0a 20 20 | 20 20 20 20 20 20 20 70 | }.. | p|
|00026710| 72 69 6e 74 66 28 22 25 | 64 20 22 2c 6c 6f 67 5f |rintf("%|d ",log_|
|00026720| 6c 69 6d 69 74 29 3b 0a | 20 20 20 20 20 20 20 20 |limit);.| |
|00026730| 20 73 70 72 69 6e 74 66 | 28 62 75 66 2c 22 25 64 | sprintf|(buf,"%d|
|00026740| 20 22 2c 6c 6f 67 5f 6c | 69 6d 69 74 29 3b 0a 0a | ",log_l|imit);..|
|00026750| 20 20 20 20 20 20 20 20 | 20 73 70 72 69 6e 74 66 | | sprintf|
|00026760| 28 74 6d 70 2c 22 25 64 | 5c 6e 22 2c 6c 6f 67 5f |(tmp,"%d|\n",log_|
|00026770| 6c 69 6d 69 74 29 3b 0a | 09 20 74 6d 70 20 2b 3d |limit);.|. tmp +=|
|00026780| 20 73 74 72 6c 65 6e 28 | 74 6d 70 29 3b 0a 0a 20 | strlen(|tmp);.. |
|00026790| 20 20 20 20 20 20 20 20 | 63 6f 6e 74 69 6e 75 65 | |continue|
|000267a0| 3b 0a 20 20 20 20 20 20 | 7d 0a 0a 20 20 20 20 20 |;. |}.. |
|000267b0| 20 69 66 20 28 73 74 72 | 63 61 73 65 63 6d 70 28 | if (str|casecmp(|
|000267c0| 63 6f 64 65 2c 20 22 43 | 4f 4e 46 2d 4d 47 52 22 |code, "C|ONF-MGR"|
|000267d0| 29 20 3d 3d 20 30 29 20 | 0a 20 20 20 20 20 20 7b |) == 0) |. {|
|000267e0| 0a 20 20 20 20 20 20 20 | 20 20 73 74 72 63 70 79 |. | strcpy|
|000267f0| 28 74 6d 70 2c 20 22 63 | 6f 6e 66 2d 6d 67 72 20 |(tmp, "c|onf-mgr |
|00026800| 22 29 3b 0a 20 20 20 20 | 20 20 20 20 20 74 6d 70 |");. | tmp|
|00026810| 20 2b 3d 20 73 74 72 6c | 65 6e 28 74 6d 70 29 3b | += strl|en(tmp);|
|00026820| 0a 0a 20 20 20 20 20 20 | 20 20 20 69 66 20 28 28 |.. | if ((|
|00026830| 63 6e 74 20 3d 20 66 73 | 63 61 6e 66 28 63 6f 6e |cnt = fs|canf(con|
|00026840| 66 5f 66 64 2c 20 22 25 | 69 2e 25 69 2e 25 69 2e |f_fd, "%|i.%i.%i.|
|00026850| 25 69 22 2c 20 26 68 62 | 2c 26 6d 68 2c 26 6d 6c |%i", &hb|,&mh,&ml|
|00026860| 2c 26 6c 62 29 29 20 21 | 3d 20 34 29 0a 09 20 7b |,&lb)) !|= 4).. {|
|00026870| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 70 72 69 |. | pri|
|00026880| 6e 74 66 28 22 43 4f 4e | 46 2d 4d 47 52 20 70 61 |ntf("CON|F-MGR pa|
|00026890| 72 61 6d 65 74 65 72 20 | 63 6f 75 6e 74 20 65 72 |rameter |count er|
|000268a0| 72 6f 72 5c 6e 22 29 3b | 0a 20 20 20 20 20 20 20 |ror\n");|. |
|000268b0| 20 20 20 20 20 65 78 69 | 74 28 2d 31 29 3b 0a 20 | exi|t(-1);. |
|000268c0| 20 20 20 20 20 20 20 20 | 20 7d 0a 0a 20 20 20 20 | | }.. |
|000268d0| 20 20 20 20 20 20 70 72 | 69 6e 74 66 28 22 25 64 | pr|intf("%d|
|000268e0| 2e 25 64 2e 25 64 2e 25 | 64 20 22 2c 68 62 2c 6d |.%d.%d.%|d ",hb,m|
|000268f0| 68 2c 6d 6c 2c 6c 62 29 | 3b 0a 20 20 20 20 20 20 |h,ml,lb)|;. |
|00026900| 20 20 20 20 73 70 72 69 | 6e 74 66 28 62 75 66 2c | spri|ntf(buf,|
|00026910| 20 22 25 64 2e 25 64 2e | 25 64 2e 25 64 20 22 2c | "%d.%d.|%d.%d ",|
|00026920| 68 62 2c 6d 68 2c 6d 6c | 2c 6c 62 29 3b 0a 0a 20 |hb,mh,ml|,lb);.. |
|00026930| 20 20 20 20 20 20 20 20 | 20 73 70 72 69 6e 74 66 | | sprintf|
|00026940| 28 74 6d 70 2c 20 22 25 | 64 2e 25 64 2e 25 64 2e |(tmp, "%|d.%d.%d.|
|00026950| 25 64 5c 6e 22 2c 68 62 | 2c 6d 68 2c 6d 6c 2c 6c |%d\n",hb|,mh,ml,l|
|00026960| 62 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 74 6d |b);. | tm|
|00026970| 70 20 2b 3d 20 73 74 72 | 6c 65 6e 28 74 6d 70 29 |p += str|len(tmp)|
|00026980| 3b 0a 0a 20 20 20 20 20 | 20 20 20 20 20 69 66 20 |;.. | if |
|00026990| 28 28 67 6f 64 5f 69 70 | 20 3d 20 69 6e 65 74 5f |((god_ip| = inet_|
|000269a0| 61 64 64 72 28 62 75 66 | 29 29 20 3d 3d 20 2d 31 |addr(buf|)) == -1|
|000269b0| 29 0a 09 20 20 7b 0a 20 | 20 20 20 20 20 20 20 20 |).. {. | |
|000269c0| 20 20 20 70 72 69 6e 74 | 66 28 22 69 6e 65 74 5f | print|f("inet_|
|000269d0| 61 64 64 72 3a 20 62 61 | 64 20 43 4f 4e 46 2d 4d |addr: ba|d CONF-M|
|000269e0| 47 52 20 61 64 64 72 65 | 73 73 5c 6e 22 29 3b 0a |GR addre|ss\n");.|
|000269f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 65 78 69 74 | | exit|
|00026a00| 28 2d 31 29 3b 0a 20 20 | 20 20 20 20 20 20 20 20 |(-1);. | |
|00026a10| 7d 0a 0a 20 20 20 20 20 | 20 20 20 20 20 63 6f 6e |}.. | con|
|00026a20| 74 69 6e 75 65 3b 0a 20 | 20 20 20 20 20 20 7d 0a |tinue;. | }.|
|00026a30| 0a 0a 0a 0a 20 20 20 20 | 20 20 69 66 20 28 73 74 |.... | if (st|
|00026a40| 72 63 61 73 65 63 6d 70 | 28 63 6f 64 65 2c 20 22 |rcasecmp|(code, "|
|00026a50| 4d 4f 54 44 22 29 20 3d | 3d 20 30 29 20 0a 20 20 |MOTD") =|= 0) . |
|00026a60| 20 20 20 20 7b 0a 09 20 | 73 74 72 63 70 79 28 74 | {.. |strcpy(t|
|00026a70| 6d 70 2c 22 6d 6f 74 64 | 20 5c 6e 22 29 3b 0a 09 |mp,"motd| \n");..|
|00026a80| 20 74 6d 70 20 2b 3d 20 | 73 74 72 6c 65 6e 28 74 | tmp += |strlen(t|
|00026a90| 6d 70 29 3b 0a 0a 20 20 | 20 20 20 20 20 20 20 73 |mp);.. | s|
|00026aa0| 74 61 74 75 73 20 3d 20 | 73 63 61 6e 5f 73 74 72 |tatus = |scan_str|
|00026ab0| 28 6d 6f 74 64 5f 62 75 | 66 2c 4d 4f 54 44 42 55 |(motd_bu|f,MOTDBU|
|00026ac0| 46 29 3b 0a 0a 20 20 20 | 20 20 20 20 20 20 69 66 |F);.. | if|
|00026ad0| 20 28 73 74 61 74 75 73 | 20 3d 3d 20 2d 31 29 0a | (status| == -1).|
|00026ae0| 20 20 20 20 20 20 20 20 | 20 7b 0a 20 20 20 20 20 | | {. |
|00026af0| 20 20 20 20 20 20 20 70 | 72 69 6e 74 66 20 28 22 | p|rintf ("|
|00026b00| 4d 4f 54 44 20 6d 65 73 | 73 61 67 65 20 64 6f 65 |MOTD mes|sage doe|
|00026b10| 73 20 6e 6f 74 20 65 6e | 64 20 77 69 74 68 20 2f |s not en|d with /|
|00026b20| 2f 20 5c 6e 22 29 3b 0a | 20 20 20 20 20 20 20 20 |/ \n");.| |
|00026b30| 20 20 20 20 65 78 69 74 | 28 2d 31 29 3b 0a 20 20 | exit|(-1);. |
|00026b40| 20 20 20 20 20 20 20 7d | 0a 0a 20 20 20 20 20 20 | }|.. |
|00026b50| 20 20 20 69 66 20 28 73 | 74 61 74 75 73 20 3d 3d | if (s|tatus ==|
|00026b60| 20 2d 32 29 0a 20 20 20 | 20 20 20 20 20 20 7b 0a | -2). | {.|
|00026b70| 20 20 20 20 20 20 20 20 | 20 20 20 20 70 72 69 6e | | prin|
|00026b80| 74 66 20 28 22 6d 61 78 | 69 6d 75 6d 20 4d 4f 54 |tf ("max|imum MOT|
|00026b90| 44 20 6d 65 73 73 61 67 | 65 20 6c 65 6e 67 74 68 |D messag|e length|
|00026ba0| 20 73 20 25 64 5c 6e 22 | 2c 4d 4f 54 44 42 55 46 | s %d\n"|,MOTDBUF|
|00026bb0| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 65 |);. | e|
|00026bc0| 78 69 74 28 2d 31 29 3b | 0a 20 20 20 20 20 20 20 |xit(-1);|. |
|00026bd0| 20 20 7d 0a 0a 20 20 20 | 20 20 20 20 20 20 73 70 | }.. | sp|
|00026be0| 72 69 6e 74 66 28 74 6d | 70 2c 22 25 73 5c 6e 22 |rintf(tm|p,"%s\n"|
|00026bf0| 2c 6d 6f 74 64 5f 62 75 | 66 29 3b 0a 20 20 20 20 |,motd_bu|f);. |
|00026c00| 20 20 20 20 20 6d 6f 74 | 64 5f 6c 65 6e 20 3d 20 | mot|d_len = |
|00026c10| 73 74 72 6c 65 6e 28 6d | 6f 74 64 5f 62 75 66 29 |strlen(m|otd_buf)|
|00026c20| 3b 0a 09 20 74 6d 70 20 | 2b 3d 20 6d 6f 74 64 5f |;.. tmp |+= motd_|
|00026c30| 6c 65 6e 3b 0a 0a 09 20 | 63 6f 6e 74 69 6e 75 65 |len;... |continue|
|00026c40| 3b 0a 20 20 20 20 20 20 | 7d 0a 0a 20 20 20 20 20 |;. |}.. |
|00026c50| 20 70 72 69 6e 74 66 20 | 28 22 43 6f 6e 66 69 67 | printf |("Config|
|00026c60| 75 72 61 74 69 6f 6e 20 | 66 69 6c 65 20 69 73 20 |uration |file is |
|00026c70| 64 61 6d 61 67 65 64 3a | 20 42 61 64 20 43 4f 44 |damaged:| Bad COD|
|00026c80| 45 20 76 61 6c 75 65 20 | 6c 69 6e 65 20 25 64 5c |E value |line %d\|
|00026c90| 6e 22 2c 63 6c 69 6e 63 | 6e 74 29 3b 0a 20 20 20 |n",clinc|nt);. |
|00026ca0| 20 20 20 65 78 69 74 28 | 2d 31 29 3b 0a 20 20 20 | exit(|-1);. |
|00026cb0| 7d 0a 20 20 20 70 72 69 | 6e 74 66 28 22 5c 6e 22 |}. pri|ntf("\n"|
|00026cc0| 29 3b 0a 20 20 20 66 66 | 6c 75 73 68 28 73 74 64 |);. ff|lush(std|
|00026cd0| 6f 75 74 29 3b 0a 20 20 | 20 63 6c 6f 73 65 28 63 |out);. | close(c|
|00026ce0| 6f 6e 66 5f 66 64 29 3b | 0a 7d 0a 0a 0a 73 68 6f |onf_fd);|.}...sho|
|00026cf0| 72 74 20 73 63 61 6e 5f | 73 74 72 28 62 75 66 2c |rt scan_|str(buf,|
|00026d00| 6d 61 78 6c 65 6e 29 0a | 20 20 20 63 68 61 72 20 |maxlen).| char |
|00026d10| 2a 62 75 66 3b 0a 20 20 | 20 73 68 6f 72 74 20 6d |*buf;. | short m|
|00026d20| 61 78 6c 65 6e 3b 0a 7b | 0a 20 20 20 73 68 6f 72 |axlen;.{|. shor|
|00026d30| 74 20 20 20 20 20 20 20 | 20 20 20 6c 65 6e 3b 0a |t | len;.|
|00026d40| 20 20 20 63 68 61 72 20 | 20 20 20 20 20 20 20 20 | char | |
|00026d50| 20 20 63 2c 63 31 2c 63 | 32 3b 0a 0a 20 20 20 6c | c,c1,c|2;.. l|
|00026d60| 65 6e 20 3d 20 30 3b 0a | 0a 20 20 20 77 68 69 6c |en = 0;.|. whil|
|00026d70| 65 20 28 31 29 0a 20 20 | 20 7b 0a 20 20 20 20 20 |e (1). | {. |
|00026d80| 20 69 66 20 28 28 63 20 | 3d 20 66 67 65 74 63 28 | if ((c |= fgetc(|
|00026d90| 63 6f 6e 66 5f 66 64 29 | 29 20 3d 3d 20 45 4f 46 |conf_fd)|) == EOF|
|00026da0| 29 0a 20 20 20 20 20 20 | 20 20 20 72 65 74 75 72 |). | retur|
|00026db0| 6e 28 2d 31 29 3b 0a 0a | 20 20 20 20 20 20 69 66 |n(-1);..| if|
|00026dc0| 20 28 28 63 20 3d 3d 20 | 27 5c 6e 27 29 20 7c 7c | ((c == |'\n') |||
|00026dd0| 20 28 63 20 3d 3d 20 27 | 5c 72 27 29 29 0a 20 20 | (c == '|\r')). |
|00026de0| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 20 20 69 | {. | i|
|00026df0| 66 20 28 28 63 31 20 3d | 20 66 67 65 74 63 28 63 |f ((c1 =| fgetc(c|
|00026e00| 6f 6e 66 5f 66 64 29 29 | 20 3d 3d 20 45 4f 46 29 |onf_fd))| == EOF)|
|00026e10| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 72 65 74 |. | ret|
|00026e20| 75 72 6e 28 2d 31 29 3b | 0a 0a 20 20 20 20 20 20 |urn(-1);|.. |
|00026e30| 20 20 20 69 66 20 28 63 | 31 20 3d 3d 20 27 2f 27 | if (c|1 == '/'|
|00026e40| 29 0a 20 20 20 20 20 20 | 20 20 20 7b 0a 20 20 20 |). | {. |
|00026e50| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 28 63 32 | | if ((c2|
|00026e60| 20 3d 20 66 67 65 74 63 | 28 63 6f 6e 66 5f 66 64 | = fgetc|(conf_fd|
|00026e70| 29 29 20 3d 3d 20 45 4f | 46 29 0a 20 20 20 20 20 |)) == EO|F). |
|00026e80| 20 20 20 20 20 20 20 20 | 20 20 72 65 74 75 72 6e | | return|
|00026e90| 28 2d 31 29 3b 0a 0a 20 | 20 20 20 20 20 20 20 20 |(-1);.. | |
|00026ea0| 20 20 20 69 66 20 28 63 | 32 20 3d 3d 20 27 2f 27 | if (c|2 == '/'|
|00026eb0| 29 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |). | |
|00026ec0| 20 72 65 74 75 72 6e 28 | 30 29 3b 0a 0a 20 20 20 | return(|0);.. |
|00026ed0| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 28 6c 65 | | if ((le|
|00026ee0| 6e 20 3d 20 6c 65 6e 2b | 33 29 20 3e 3d 20 6d 61 |n = len+|3) >= ma|
|00026ef0| 78 6c 65 6e 29 0a 20 20 | 20 20 20 20 20 20 20 20 |xlen). | |
|00026f00| 20 20 20 20 20 72 65 74 | 75 72 6e 28 2d 32 29 3b | ret|urn(-2);|
|00026f10| 0a 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 2a 62 |.. | *b|
|00026f20| 75 66 2b 2b 20 3d 20 63 | 3b 0a 20 20 20 20 20 20 |uf++ = c|;. |
|00026f30| 20 20 20 20 20 20 70 72 | 69 6e 74 66 28 22 25 63 | pr|intf("%c|
|00026f40| 22 2c 63 29 3b 0a 20 20 | 20 0a 20 20 20 20 20 20 |",c);. | . |
|00026f50| 20 20 20 20 20 20 2a 62 | 75 66 2b 2b 20 3d 20 63 | *b|uf++ = c|
|00026f60| 31 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 70 |1;. | p|
|00026f70| 72 69 6e 74 66 28 22 25 | 63 22 2c 63 31 29 3b 0a |rintf("%|c",c1);.|
|00026f80| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 2a 62 75 |. | *bu|
|00026f90| 66 2b 2b 20 3d 20 63 32 | 3b 0a 20 20 20 20 20 20 |f++ = c2|;. |
|00026fa0| 20 20 20 20 20 20 70 72 | 69 6e 74 66 28 22 25 63 | pr|intf("%c|
|00026fb0| 22 2c 63 32 29 3b 0a 09 | 20 7d 0a 09 20 65 6c 73 |",c2);..| }.. els|
|00026fc0| 65 0a 09 20 7b 0a 20 20 | 20 20 20 20 20 20 20 20 |e.. {. | |
|00026fd0| 20 20 69 66 20 28 28 6c | 65 6e 20 3d 20 6c 65 6e | if ((l|en = len|
|00026fe0| 2b 32 29 20 3e 3d 20 6d | 61 78 6c 65 6e 29 0a 20 |+2) >= m|axlen). |
|00026ff0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 72 65 | | re|
|00027000| 74 75 72 6e 28 2d 32 29 | 3b 20 0a 0a 20 20 20 20 |turn(-2)|; .. |
|00027010| 20 20 20 20 20 20 20 20 | 2a 62 75 66 2b 2b 20 3d | |*buf++ =|
|00027020| 20 63 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | c;. | |
|00027030| 70 72 69 6e 74 66 28 22 | 25 63 22 2c 63 29 3b 0a |printf("|%c",c);.|
|00027040| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 2a 62 75 |. | *bu|
|00027050| 66 2b 2b 20 3d 20 63 31 | 3b 0a 20 20 20 20 20 20 |f++ = c1|;. |
|00027060| 20 20 20 20 20 20 70 72 | 69 6e 74 66 28 22 25 63 | pr|intf("%c|
|00027070| 22 2c 63 31 29 3b 0a 09 | 20 7d 0a 20 20 20 20 20 |",c1);..| }. |
|00027080| 20 7d 0a 20 20 20 20 20 | 20 65 6c 73 65 0a 20 20 | }. | else. |
|00027090| 20 20 20 20 7b 0a 20 20 | 20 20 20 20 20 20 20 69 | {. | i|
|000270a0| 66 20 28 28 6c 65 6e 20 | 3d 20 6c 65 6e 2b 31 29 |f ((len |= len+1)|
|000270b0| 20 3e 3d 20 6d 61 78 6c | 65 6e 29 0a 20 20 20 20 | >= maxl|en). |
|000270c0| 20 20 20 20 20 20 20 20 | 72 65 74 75 72 6e 28 2d | |return(-|
|000270d0| 32 29 3b 0a 0a 20 20 20 | 20 20 20 20 20 20 2a 62 |2);.. | *b|
|000270e0| 75 66 2b 2b 20 3d 20 63 | 3b 0a 20 20 20 20 20 20 |uf++ = c|;. |
|000270f0| 20 20 20 70 72 69 6e 74 | 66 28 22 25 63 22 2c 63 | print|f("%c",c|
|00027100| 29 3b 0a 20 20 20 20 20 | 20 7d 0a 20 20 20 7d 0a |);. | }. }.|
|00027110| 7d 0a 20 20 20 20 20 20 | 20 20 20 69 66 20 28 28 |}. | if ((|
|00027120| 63 6e 74 20 3d 20 66 73 | 63 61 6e 66 28 63 6f 6e |cnt = fs|canf(con|
|00027130| 66 5f 66 64 2c 20 22 25 | 69 2e 25 69 2e 25 69 2e |f_fd, "%|i.%i.%i.|
|00027140| 25 69 22 2c 26 68 62 2c | 26 6d 68 2c 26 6d 6c 2c |%i",&hb,|&mh,&ml,|
|00027150| 26 6c 62 29 29 20 21 3d | 20 34 29 0a 09 20 7b 0a |&lb)) !=| 4).. {.|
|00027160| 20 20 20 20 20 20 20 20 | 20 20 20 20 70 72 69 6e | | prin|
|00027170| 74 66 20 28 22 52 45 46 | 4d 4f 4e 20 70 61 72 61 |tf ("REF|MON para|
|00027180| 6d 61 74 65 72 20 63 6f | 75 6e 74 20 65 72 72 6f |mater co|unt erro|
|00027190| 72 5c 6e 22 29 3b 0a 20 | 20 20 20 20 20 20 20 20 |r\n");. | |
|000271a0| 20 20 20 65 78 69 74 28 | 2d 31 29 3b 0a 20 20 20 | exit(|-1);. |
|000271b0| 20 20 20 20 20 20 7d 0a | 20 20 20 20 20 20 20 20 | }.| |
|000271c0| 20 70 72 69 6e 74 66 28 | 22 25 64 2e 25 64 2e 25 | printf(|"%d.%d.%|
|000271d0| 64 2e 25 64 20 22 2c 68 | 62 2c 6d 68 2c 6d 6c 2c |d.%d ",h|b,mh,ml,|
|000271e0| 6c 62 29 3b 0a 20 20 20 | 20 20 20 20 20 20 73 70 |lb);. | sp|
|000271f0| 72 69 6e 74 66 28 62 75 | 66 2c 22 25 64 2e 25 64 |rintf(bu|f,"%d.%d|
|00027200| 32 2e 33 30 62 31 2f 52 | 45 41 44 4d 45 00 00 00 |2.30b1/R|EADME...|
|00027210| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00027220| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00027230| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00027240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00027250| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00027260| 00 00 00 00 31 30 30 36 | 34 34 20 00 30 30 30 30 |....1006|44 .0000|
|00027270| 30 36 20 00 30 30 30 30 | 30 30 20 00 30 30 30 30 |06 .0000|00 .0000|
|00027280| 30 30 33 34 37 31 31 20 | 30 35 36 31 31 35 33 31 |0034711 |05611531|
|00027290| 35 36 37 20 30 31 33 31 | 30 35 00 20 30 00 00 00 |567 0131|05. 0...|
|000272a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000272b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000272c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000272d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000272e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000272f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00027300| 00 75 73 74 61 72 00 30 | 30 6c 79 6e 6e 00 00 00 |.ustar.0|0lynn...|
|00027310| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00027320| 00 00 00 00 00 00 00 00 | 00 73 79 73 74 65 6d 00 |........|.system.|
|00027330| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00027340| 00 00 00 00 00 00 00 00 | 00 30 30 30 30 30 30 20 |........|.000000 |
|00027350| 00 30 30 30 30 30 30 20 | 00 00 00 00 00 00 00 00 |.000000 |........|
|00027360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00027370| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00027380| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00027390| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000273a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000273b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000273c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000273d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000273e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000273f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00027400| 43 6f 72 6e 65 6c 6c 20 | 52 65 66 6c 65 63 74 6f |Cornell |Reflecto|
|00027410| 72 20 56 65 72 73 69 6f | 6e 20 32 2e 33 30 42 31 |r Versio|n 2.30B1|
|00027420| 0a 0a 54 68 69 73 20 69 | 73 20 61 20 42 45 54 41 |..This i|s a BETA|
|00027430| 20 76 65 72 73 69 6f 6e | 20 6f 66 20 74 68 65 20 | version| of the |
|00027440| 6e 65 77 65 73 74 20 72 | 65 6c 65 61 73 65 20 6f |newest r|elease o|
|00027450| 66 20 74 68 65 20 43 55 | 2d 53 65 65 4d 65 0a 72 |f the CU|-SeeMe.r|
|00027460| 65 66 6c 65 63 74 6f 72 | 20 70 72 6f 67 72 61 6d |eflector| program|
|00027470| 2e 20 20 45 78 70 65 63 | 74 20 66 75 74 75 72 65 |. Expec|t future|
|00027480| 20 63 68 61 6e 67 65 73 | 2c 20 70 61 72 74 69 63 | changes|, partic|
|00027490| 75 6c 61 72 6c 79 20 69 | 6e 20 74 68 65 20 0a 61 |ularly i|n the .a|
|000274a0| 72 65 61 20 6f 66 20 74 | 68 65 20 63 6f 6e 66 69 |rea of t|he confi|
|000274b0| 67 75 72 61 74 69 6f 6e | 2c 20 62 65 66 6f 72 65 |guration|, before|
|000274c0| 20 61 20 66 69 6e 61 6c | 20 76 65 72 73 69 6f 6e | a final| version|
|000274d0| 20 69 73 20 72 65 6c 65 | 61 73 65 64 2e 20 20 0a | is rele|ased. .|
|000274e0| 54 68 65 72 65 20 61 72 | 65 20 6e 75 6d 65 72 6f |There ar|e numero|
|000274f0| 75 73 20 63 68 61 6e 67 | 65 73 20 62 65 74 77 65 |us chang|es betwe|
|00027500| 65 6e 20 74 68 69 73 20 | 76 65 72 73 69 6f 6e 20 |en this |version |
|00027510| 61 6e 64 20 76 65 72 73 | 69 6f 6e 20 2e 39 35 2c |and vers|ion .95,|
|00027520| 20 0a 72 65 6c 65 61 73 | 65 64 20 69 6e 20 4a 75 | .releas|ed in Ju|
|00027530| 6e 65 20 6f 66 20 31 39 | 39 33 2e 20 20 54 68 69 |ne of 19|93. Thi|
|00027540| 73 20 76 65 72 73 69 6f | 6e 20 6f 66 20 43 55 2d |s versio|n of CU-|
|00027550| 53 65 65 4d 65 20 52 65 | 66 6c 65 63 74 6f 72 20 |SeeMe Re|flector |
|00027560| 0a 73 6f 66 74 77 61 72 | 65 20 63 61 6e 20 62 65 |.softwar|e can be|
|00027570| 20 75 73 65 64 20 74 6f | 20 22 74 69 65 20 74 6f | used to| "tie to|
|00027580| 67 65 74 68 65 72 22 20 | 74 77 6f 20 6f 72 20 6d |gether" |two or m|
|00027590| 6f 72 65 20 72 65 66 6c | 65 63 74 6f 72 73 2e 20 |ore refl|ectors. |
|000275a0| 20 0a 54 68 69 73 20 66 | 65 61 74 75 72 65 20 61 | .This f|eature a|
|000275b0| 6c 6c 6f 77 73 20 6d 6f | 72 65 20 65 66 66 69 63 |llows mo|re effic|
|000275c0| 69 65 6e 74 20 75 73 65 | 20 6f 66 20 6e 65 74 77 |ient use| of netw|
|000275d0| 6f 72 6b 20 62 61 6e 64 | 77 69 64 74 68 2c 0a 77 |ork band|width,.w|
|000275e0| 69 74 68 20 65 61 63 68 | 20 67 72 6f 75 70 20 63 |ith each| group c|
|000275f0| 6f 6e 6e 65 63 74 65 64 | 20 74 6f 20 74 68 65 69 |onnected| to thei|
|00027600| 72 20 6c 6f 63 61 6c 20 | 72 65 66 6c 65 63 74 6f |r local |reflecto|
|00027610| 72 20 61 6e 64 20 6c 6f | 63 61 6c 20 0a 72 65 66 |r and lo|cal .ref|
|00027620| 6c 65 63 74 6f 72 73 20 | 63 6f 6e 6e 65 63 74 65 |lectors |connecte|
|00027630| 64 20 69 6e 20 61 20 22 | 6e 65 74 22 2c 20 61 6c |d in a "|net", al|
|00027640| 6c 6f 77 69 6e 67 20 62 | 72 6f 61 64 65 72 20 70 |lowing b|roader p|
|00027650| 61 72 74 69 63 69 70 61 | 74 69 6f 6e 20 0a 61 6e |articipa|tion .an|
|00027660| 64 20 68 69 67 68 65 72 | 20 71 75 61 6c 69 74 79 |d higher| quality|
|00027670| 20 76 69 64 65 6f 20 61 | 74 20 65 61 63 68 20 72 | video a|t each r|
|00027680| 65 66 6c 65 63 74 6f 72 | 20 73 69 74 65 2e 20 20 |eflector| site. |
|00027690| 0a 0a 50 4c 45 41 53 45 | 20 4e 4f 54 45 3a 20 54 |..PLEASE| NOTE: T|
|000276a0| 68 65 20 63 75 72 72 65 | 6e 74 20 76 65 72 73 69 |he curre|nt versi|
|000276b0| 6f 6e 20 6f 66 20 74 68 | 65 20 72 65 66 6c 65 63 |on of th|e reflec|
|000276c0| 74 6f 72 20 73 6f 66 74 | 77 61 72 65 20 0a 61 6c |tor soft|ware .al|
|000276d0| 6c 6f 77 73 20 6e 76 20 | 74 6f 20 64 69 73 70 6c |lows nv |to displ|
|000276e0| 61 79 20 43 55 2d 53 65 | 65 4d 65 20 76 69 64 65 |ay CU-Se|eMe vide|
|000276f0| 6f 2c 20 62 75 74 20 43 | 55 2d 53 65 65 4d 65 20 |o, but C|U-SeeMe |
|00027700| 63 61 6e 6e 6f 74 0a 64 | 69 73 70 6c 61 79 20 6e |cannot.d|isplay n|
|00027710| 76 20 76 69 64 65 6f 2e | 20 20 54 68 69 73 20 68 |v video.| This h|
|00027720| 61 73 20 62 65 65 6e 20 | 61 6e 20 6f 6e 67 6f 69 |as been |an ongoi|
|00027730| 6e 67 20 70 6f 69 6e 74 | 20 6f 66 20 0a 63 6f 6e |ng point| of .con|
|00027740| 66 75 73 69 6f 6e 2e 0a | 0a 49 66 20 79 6f 75 20 |fusion..|.If you |
|00027750| 61 72 65 20 63 6f 6d 70 | 69 6c 69 6e 67 20 74 68 |are comp|iling th|
|00027760| 69 73 20 63 6f 64 65 20 | 6f 6e 20 61 20 6d 61 63 |is code |on a mac|
|00027770| 68 69 6e 65 20 77 69 74 | 68 6f 75 74 20 61 20 6d |hine wit|hout a m|
|00027780| 75 6c 74 69 63 61 73 74 | 0a 6b 65 72 6e 65 6c 2c |ulticast|.kernel,|
|00027790| 20 79 6f 75 20 77 69 6c | 6c 20 68 61 76 65 20 74 | you wil|l have t|
|000277a0| 6f 20 72 65 6d 6f 76 65 | 20 74 68 65 20 2d 44 4d |o remove| the -DM|
|000277b0| 55 4c 54 49 20 64 65 66 | 69 6e 69 74 69 6f 6e 20 |ULTI def|inition |
|000277c0| 66 72 6f 6d 0a 74 68 65 | 20 6d 61 6b 65 66 69 6c |from.the| makefil|
|000277d0| 65 2e 20 20 0a 0a 49 66 | 20 79 6f 75 20 61 72 65 |e. ..If| you are|
|000277e0| 20 63 6f 6e 6e 65 63 74 | 69 6e 67 20 72 65 66 6c | connect|ing refl|
|000277f0| 65 63 74 6f 72 73 20 74 | 6f 67 65 74 68 65 72 2c |ectors t|ogether,|
|00027800| 20 6d 61 6b 65 20 73 75 | 72 65 20 74 68 61 74 20 | make su|re that |
|00027810| 61 6c 6c 0a 74 68 65 20 | 72 65 66 6c 65 63 74 6f |all.the |reflecto|
|00027820| 72 73 20 61 72 65 20 75 | 73 69 6e 67 20 74 68 65 |rs are u|sing the|
|00027830| 20 73 61 6d 65 20 76 65 | 72 73 69 6f 6e 2e 0a 0a | same ve|rsion...|
|00027840| 42 75 67 20 72 65 70 6f | 72 74 73 20 61 6e 64 20 |Bug repo|rts and |
|00027850| 6f 72 20 67 65 6e 65 72 | 61 6c 20 63 6f 6d 6d 65 |or gener|al comme|
|00027860| 6e 74 73 20 63 61 6e 20 | 65 69 74 68 65 72 20 62 |nts can |either b|
|00027870| 65 20 73 65 6e 74 20 74 | 6f 20 74 68 65 0a 43 55 |e sent t|o the.CU|
|00027880| 2d 53 65 65 4d 65 20 62 | 75 67 20 6c 69 73 74 20 |-SeeMe b|ug list |
|00027890| 61 74 20 63 75 2d 73 65 | 65 6d 65 2d 62 75 67 73 |at cu-se|eme-bugs|
|000278a0| 40 63 6f 72 6e 65 6c 6c | 2e 65 64 75 2c 20 6f 72 |@cornell|.edu, or|
|000278b0| 20 64 69 72 65 63 74 6c | 79 20 0a 74 6f 20 6d 65 | directl|y .to me|
|000278c0| 2c 20 4a 6f 68 6e 20 4c | 79 6e 6e 2c 20 61 74 20 |, John L|ynn, at |
|000278d0| 6a 61 6c 37 40 63 6f 72 | 6e 65 6c 6c 2e 65 64 75 |jal7@cor|nell.edu|
|000278e0| 2e 0a 0a 52 65 66 6c 65 | 63 74 6f 72 20 4f 70 65 |...Refle|ctor Ope|
|000278f0| 72 61 74 69 6f 6e 0a 0a | 54 68 65 20 72 65 66 6c |ration..|The refl|
|00027900| 65 63 74 6f 72 20 69 73 | 20 73 74 61 72 74 65 64 |ector is| started|
|00027910| 20 77 69 74 68 20 61 20 | 73 69 6e 67 6c 65 20 6f | with a |single o|
|00027920| 70 74 69 6f 6e 61 6c 20 | 70 61 72 61 6d 65 74 65 |ptional |paramete|
|00027930| 72 2c 20 74 68 65 20 0a | 63 6f 6e 66 69 67 75 72 |r, the .|configur|
|00027940| 61 74 69 6f 6e 20 66 69 | 6c 65 20 6e 61 6d 65 2e |ation fi|le name.|
|00027950| 20 20 49 66 20 6e 6f 20 | 63 6f 6e 66 69 67 75 72 | If no |configur|
|00027960| 61 74 69 6f 6e 20 66 69 | 6c 65 20 69 73 20 73 70 |ation fi|le is sp|
|00027970| 65 63 69 66 69 65 64 2c | 20 74 68 65 20 0a 72 65 |ecified,| the .re|
|00027980| 66 6c 65 63 74 6f 72 20 | 74 72 69 65 73 20 74 6f |flector |tries to|
|00027990| 20 6f 70 65 6e 20 74 68 | 65 20 64 65 66 61 75 6c | open th|e defaul|
|000279a0| 74 20 63 6f 6e 66 69 67 | 75 72 61 74 69 6f 6e 20 |t config|uration |
|000279b0| 66 69 6c 65 20 63 61 6c | 6c 65 64 20 0a 72 65 66 |file cal|led .ref|
|000279c0| 6c 65 63 74 2e 63 6f 6e | 66 2e 20 20 49 66 20 74 |lect.con|f. If t|
|000279d0| 68 61 74 20 66 69 6c 65 | 20 69 73 20 6e 6f 74 20 |hat file| is not |
|000279e0| 66 6f 75 6e 64 2c 20 74 | 68 65 6e 20 6e 6f 20 63 |found, t|hen no c|
|000279f0| 6f 6e 66 69 67 75 72 61 | 74 69 6f 6e 20 0a 69 6e |onfigura|tion .in|
|00027a00| 66 6f 72 6d 61 74 69 6f | 6e 20 69 73 20 73 70 65 |formatio|n is spe|
|00027a10| 63 69 66 69 65 64 20 61 | 6e 64 20 74 68 65 20 64 |cified a|nd the d|
|00027a20| 65 66 61 75 6c 74 20 76 | 61 6c 75 65 73 20 66 6f |efault v|alues fo|
|00027a30| 72 20 61 6c 6c 20 63 6f | 6e 66 69 67 75 72 61 74 |r all co|nfigurat|
|00027a40| 69 6f 6e 20 0a 70 61 72 | 61 6d 65 74 65 72 73 20 |ion .par|ameters |
|00027a50| 61 72 65 20 75 73 65 64 | 2e 20 20 54 68 65 20 63 |are used|. The c|
|00027a60| 6f 6e 66 69 67 75 72 61 | 74 69 6f 6e 20 66 69 6c |onfigura|tion fil|
|00027a70| 65 20 69 73 20 61 6e 20 | 41 53 43 49 49 20 74 65 |e is an |ASCII te|
|00027a80| 78 74 20 66 69 6c 65 2e | 20 20 0a 45 61 63 68 20 |xt file.| .Each |
|00027a90| 6c 69 6e 65 20 62 65 67 | 69 6e 73 20 77 69 74 68 |line beg|ins with|
|00027aa0| 20 61 20 6b 65 79 77 6f | 72 64 20 77 68 69 63 68 | a keywo|rd which|
|00027ab0| 20 73 70 65 63 69 66 69 | 65 73 20 74 68 65 20 70 | specifi|es the p|
|00027ac0| 61 72 61 6d 65 74 65 72 | 20 20 0a 63 6f 6e 66 69 |arameter| .confi|
|00027ad0| 67 75 72 65 64 2c 20 73 | 6f 6d 65 20 6f 66 20 74 |gured, s|ome of t|
|00027ae0| 68 65 20 6b 65 79 77 6f | 72 64 73 20 61 72 65 20 |he keywo|rds are |
|00027af0| 66 6f 6c 6c 6f 77 65 64 | 20 62 79 20 61 72 67 75 |followed| by argu|
|00027b00| 6d 65 6e 74 73 20 0a 74 | 68 61 74 20 73 70 65 63 |ments .t|hat spec|
|00027b10| 69 66 79 20 74 68 65 20 | 76 61 6c 75 65 28 73 29 |ify the |value(s)|
|00027b20| 20 66 6f 72 20 74 68 61 | 74 20 63 6f 6e 66 69 67 | for tha|t config|
|00027b30| 75 72 61 74 69 6f 6e 20 | 70 61 72 61 6d 65 74 65 |uration |paramete|
|00027b40| 72 2e 20 20 41 6e 79 20 | 6c 69 6e 65 20 0a 77 68 |r. Any |line .wh|
|00027b50| 69 63 68 20 62 65 67 69 | 6e 73 20 77 69 74 68 20 |ich begi|ns with |
|00027b60| 61 20 73 65 6d 69 63 6f | 6c 6f 6e 20 28 3b 29 20 |a semico|lon (;) |
|00027b70| 69 73 20 61 20 63 6f 6d | 6d 65 6e 74 20 6c 69 6e |is a com|ment lin|
|00027b80| 65 20 61 6e 64 20 69 73 | 20 69 67 6e 6f 72 65 64 |e and is| ignored|
|00027b90| 20 62 79 20 0a 74 68 65 | 20 72 65 66 6c 65 63 74 | by .the| reflect|
|00027ba0| 6f 72 2e 0a 0a 54 68 65 | 20 66 6f 6c 6c 6f 77 69 |or...The| followi|
|00027bb0| 6e 67 20 61 72 65 20 74 | 68 65 20 63 6f 6e 66 69 |ng are t|he confi|
|00027bc0| 67 75 72 61 74 69 6f 6e | 20 6b 65 79 77 6f 72 64 |guration| keyword|
|00027bd0| 73 20 61 6e 64 20 74 68 | 65 69 72 20 70 61 72 61 |s and th|eir para|
|00027be0| 6d 65 74 65 72 73 20 0a | 69 66 20 61 6e 79 20 65 |meters .|if any e|
|00027bf0| 78 69 73 74 2e 0a 0a 44 | 45 42 55 47 0a 0a 53 70 |xist...D|EBUG..Sp|
|00027c00| 65 63 69 66 79 69 6e 67 | 20 44 45 42 55 47 20 63 |ecifying| DEBUG c|
|00027c10| 61 75 73 65 73 20 74 68 | 65 20 72 65 66 6c 65 63 |auses th|e reflec|
|00027c20| 74 6f 72 20 74 6f 20 70 | 72 69 6e 74 20 6f 75 74 |tor to p|rint out|
|00027c30| 20 61 20 6c 61 72 67 65 | 20 61 6d 6f 75 6e 74 20 | a large| amount |
|00027c40| 6f 66 20 0a 64 65 62 75 | 67 67 69 6e 67 20 69 6e |of .debu|gging in|
|00027c50| 66 6f 72 6d 61 74 69 6f | 6e 2e 20 20 54 68 69 73 |formatio|n. This|
|00027c60| 20 69 6e 66 6f 72 6d 61 | 74 69 6f 6e 20 69 73 20 | informa|tion is |
|00027c70| 70 72 6f 62 61 62 6c 79 | 20 6e 6f 74 20 70 61 72 |probably| not par|
|00027c80| 74 69 63 75 6c 61 72 6c | 79 20 0a 6d 65 61 6e 69 |ticularl|y .meani|
|00027c90| 6e 67 66 75 6c 20 74 6f | 20 61 6e 79 6f 6e 65 20 |ngful to| anyone |
|00027ca0| 62 75 74 20 74 68 65 20 | 72 65 66 6c 65 63 74 6f |but the |reflecto|
|00027cb0| 72 20 70 72 6f 67 72 61 | 6d 6d 65 72 20 61 6e 64 |r progra|mmer and|
|00027cc0| 20 77 69 6c 6c 20 73 6c | 6f 77 20 64 6f 77 6e 20 | will sl|ow down |
|00027cd0| 0a 74 68 65 20 6f 70 65 | 72 61 74 69 6f 6e 20 6f |.the ope|ration o|
|00027ce0| 66 20 74 68 65 20 72 65 | 66 6c 65 63 74 6f 72 2c |f the re|flector,|
|00027cf0| 20 73 6f 20 44 45 42 55 | 47 20 69 6e 20 67 65 6e | so DEBU|G in gen|
|00027d00| 65 72 61 6c 20 73 68 6f | 75 6c 64 20 6e 6f 74 20 |eral sho|uld not |
|00027d10| 62 65 20 61 64 64 65 64 | 20 0a 74 6f 20 74 68 65 |be added| .to the|
|00027d20| 20 63 6f 6e 66 69 67 75 | 72 61 74 69 6f 6e 2e 0a | configu|ration..|
|00027d30| 0a 0a 53 45 4c 46 2d 52 | 45 46 4c 45 43 54 0a 0a |..SELF-R|EFLECT..|
|00027d40| 53 45 4c 46 2d 52 45 46 | 4c 45 43 54 20 63 61 75 |SELF-REF|LECT cau|
|00027d50| 73 65 73 20 74 68 65 20 | 72 65 66 6c 65 63 74 6f |ses the |reflecto|
|00027d60| 72 20 74 6f 20 73 65 6e | 64 20 79 6f 75 72 20 6f |r to sen|d your o|
|00027d70| 77 6e 20 43 55 2d 53 65 | 65 4d 65 20 0a 73 74 72 |wn CU-Se|eMe .str|
|00027d80| 65 61 6d 20 62 61 63 6b | 20 74 6f 20 79 6f 75 2e |eam back| to you.|
|00027d90| 20 20 54 68 69 73 20 61 | 6c 73 6f 20 69 73 20 61 | This a|lso is a|
|00027da0| 20 73 6f 72 74 20 6f 66 | 20 64 65 62 75 67 67 69 | sort of| debuggi|
|00027db0| 6e 67 20 61 69 64 2c 20 | 61 6c 6c 6f 77 69 6e 67 |ng aid, |allowing|
|00027dc0| 20 0a 79 6f 75 20 74 6f | 20 6d 61 6b 65 20 73 75 | .you to| make su|
|00027dd0| 72 65 20 79 6f 75 72 20 | 72 65 66 6c 65 63 74 6f |re your |reflecto|
|00027de0| 72 20 69 73 20 75 70 20 | 61 6e 64 20 72 75 6e 6e |r is up |and runn|
|00027df0| 69 6e 67 2e 20 0a 0a 52 | 45 46 4d 4f 4e 20 69 70 |ing. ..R|EFMON ip|
|00027e00| 2d 61 64 64 72 0a 0a 52 | 45 46 4d 4f 4e 20 69 73 |-addr..R|EFMON is|
|00027e10| 20 75 73 65 64 20 74 6f | 20 73 70 65 63 69 66 79 | used to| specify|
|00027e20| 20 74 68 65 20 49 50 20 | 61 64 64 72 65 73 73 20 | the IP |address |
|00027e30| 6f 66 20 74 68 65 20 55 | 4e 49 58 20 77 6f 72 6b |of the U|NIX work|
|00027e40| 73 74 61 74 69 6f 6e 20 | 0a 74 68 61 74 20 69 73 |station |.that is|
|00027e50| 20 61 6c 6c 6f 77 65 64 | 20 74 6f 20 61 63 63 65 | allowed| to acce|
|00027e60| 73 73 20 74 68 65 20 72 | 65 66 6c 65 63 74 6f 72 |ss the r|eflector|
|00027e70| 20 75 73 69 6e 67 20 74 | 68 65 20 72 65 66 6d 6f | using t|he refmo|
|00027e80| 6e 20 61 70 70 6c 69 63 | 61 74 69 6f 6e 2e 20 20 |n applic|ation. |
|00027e90| 0a 49 66 20 6e 6f 20 52 | 45 46 4d 4f 4e 20 69 73 |.If no R|EFMON is|
|00027ea0| 20 73 70 65 63 69 66 69 | 65 64 20 69 6e 20 74 68 | specifi|ed in th|
|00027eb0| 65 20 63 6f 6e 66 69 67 | 75 72 61 74 69 6f 6e 2c |e config|uration,|
|00027ec0| 20 74 68 65 6e 20 61 20 | 72 65 66 6d 6f 6e 20 0a | then a |refmon .|
|00027ed0| 61 70 70 6c 69 63 61 74 | 69 6f 6e 20 72 75 6e 6e |applicat|ion runn|
|00027ee0| 69 6e 67 20 6f 6e 20 61 | 6e 79 20 77 6f 72 6b 73 |ing on a|ny works|
|00027ef0| 74 61 74 69 6f 6e 20 77 | 69 6c 6c 20 62 65 20 61 |tation w|ill be a|
|00027f00| 6c 6c 6f 77 65 64 20 61 | 63 63 65 73 73 20 74 6f |llowed a|ccess to|
|00027f10| 20 0a 79 6f 75 72 20 72 | 65 66 6c 65 63 74 6f 72 | .your r|eflector|
|00027f20| 2e 20 20 49 66 20 74 68 | 65 20 49 50 20 61 64 64 |. If th|e IP add|
|00027f30| 72 65 73 73 20 69 73 20 | 73 70 65 63 69 66 69 65 |ress is |specifie|
|00027f40| 64 20 61 73 20 30 2e 30 | 2e 30 2e 30 2c 20 74 68 |d as 0.0|.0.0, th|
|00027f50| 65 6e 20 6e 6f 20 0a 72 | 65 66 6d 6f 6e 20 61 6e |en no .r|efmon an|
|00027f60| 79 77 68 65 72 65 20 77 | 69 6c 6c 20 62 65 20 67 |ywhere w|ill be g|
|00027f70| 72 61 6e 74 65 64 20 61 | 63 63 65 73 73 2e 20 20 |ranted a|ccess. |
|00027f80| 54 68 65 20 72 65 66 6d | 6f 6e 20 61 70 70 6c 69 |The refm|on appli|
|00027f90| 63 61 74 69 6f 6e 20 69 | 73 20 0a 64 6f 63 75 6d |cation i|s .docum|
|00027fa0| 65 6e 74 65 64 20 6c 61 | 74 65 72 20 6f 6e 20 20 |ented la|ter on |
|00027fb0| 20 41 73 20 72 65 66 6d | 6f 6e 20 63 61 6e 20 62 | As refm|on can b|
|00027fc0| 65 20 75 73 65 64 20 74 | 6f 20 6b 69 6c 6c 20 74 |e used t|o kill t|
|00027fd0| 68 65 20 72 65 66 6c 65 | 63 74 6f 72 2c 20 69 74 |he refle|ctor, it|
|00027fe0| 27 73 20 0a 70 72 6f 62 | 61 62 6c 79 20 62 65 73 |'s .prob|ably bes|
|00027ff0| 74 20 74 6f 20 69 6e 63 | 6c 75 64 65 20 74 68 69 |t to inc|lude thi|
+--------+-------------------------+-------------------------+--------+--------+